org.mockito.internal.reporting.PrintSettings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mockito-all Show documentation
Show all versions of mockito-all Show documentation
Mock objects library for java
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.reporting;
import org.hamcrest.Matcher;
import org.mockito.internal.invocation.ArgumentsProcessor;
import org.mockito.internal.invocation.InvocationMatcher;
import org.mockito.internal.matchers.MatchersPrinter;
import org.mockito.internal.util.MockUtil;
import org.mockito.invocation.Invocation;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
public class PrintSettings {
public static final int MAX_LINE_LENGTH = 45;
private boolean multiline;
private List withTypeInfo = new LinkedList();
public void setMultiline(boolean multiline) {
this.multiline = multiline;
}
public boolean isMultiline() {
return multiline;
}
public static PrintSettings verboseMatchers(Integer ... indexesOfMatchers) {
PrintSettings settings = new PrintSettings();
settings.setMatchersToBeDescribedWithExtraTypeInfo(indexesOfMatchers);
return settings;
}
public boolean extraTypeInfoFor(int argumentIndex) {
return withTypeInfo.contains(argumentIndex);
}
public void setMatchersToBeDescribedWithExtraTypeInfo(Integer[] indexesOfMatchers) {
this.withTypeInfo = Arrays.asList(indexesOfMatchers);
}
public String print(List matchers, Invocation invocation) {
MatchersPrinter matchersPrinter = new MatchersPrinter();
String qualifiedName = new MockUtil().getMockName(invocation.getMock()) + "." + invocation.getMethod().getName();
String invocationString = qualifiedName + matchersPrinter.getArgumentsLine(matchers, this);
if (isMultiline() || (!matchers.isEmpty() && invocationString.length() > MAX_LINE_LENGTH)) {
return qualifiedName + matchersPrinter.getArgumentsBlock(matchers, this);
} else {
return invocationString;
}
}
public String print(Invocation invocation) {
return print(ArgumentsProcessor.argumentsToMatchers(invocation.getArguments()), invocation);
}
public String print(InvocationMatcher invocationMatcher) {
return print(invocationMatcher.getMatchers(), invocationMatcher.getInvocation());
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy