| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.mockito.internal.matchers;
|
|
|
| import java.util.LinkedList;
|
| import java.util.List;
|
|
|
| import org.hamcrest.Description;
|
| import org.hamcrest.Matcher;
|
| import org.hamcrest.SelfDescribing;
|
| import org.hamcrest.StringDescription;
|
| import org.mockito.internal.reporting.PrintSettings;
|
|
|
| @SuppressWarnings("unchecked")
|
| public class MatchersPrinter {
|
|
|
| public String getArgumentsLine(List<Matcher> matchers, PrintSettings printSettings) {
|
| Description result = new StringDescription();
|
| result.appendList("(", ", ", ");", applyPrintSettings(matchers, printSettings));
|
| return result.toString();
|
| }
|
|
|
| public String getArgumentsBlock(List<Matcher> matchers, PrintSettings printSettings) {
|
| Description result = new StringDescription();
|
| result.appendList("(\n ", ",\n ", "\n);", applyPrintSettings(matchers, printSettings));
|
| return result.toString();
|
| }
|
|
|
| private List<SelfDescribing> applyPrintSettings(List<Matcher> matchers, PrintSettings printSettings) {
|
| List<SelfDescribing> withPrintSettings = new LinkedList<SelfDescribing>();
|
| int i = 0;
|
| for (final Matcher matcher : matchers) {
|
| if (matcher instanceof ContainsExtraTypeInformation && printSettings.extraTypeInfoFor(i)) {
|
| withPrintSettings.add(((ContainsExtraTypeInformation) matcher).withExtraTypeInfo());
|
| } else {
|
| withPrintSettings.add(matcher);
|
| }
|
| i++;
|
| }
|
| return withPrintSettings;
|
| }
|
| } |