| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.mockito.internal.reporting; |
| |
| |
| import org.mockito.internal.invocation.InvocationMatcher; |
| import org.mockito.invocation.Invocation; |
| import org.mockito.invocation.MatchableInvocation; |
| |
| /** |
| * Makes sure both wanted and actual are printed consistently (single line or multiline) |
| * <p> |
| * Makes arguments printed with types if necessary |
| */ |
| public class SmartPrinter { |
| |
| private final String wanted; |
| private final String actual; |
| |
| public SmartPrinter(MatchableInvocation wanted, Invocation actual, Integer ... indexesOfMatchersToBeDescribedWithExtraTypeInfo) { |
| PrintSettings printSettings = new PrintSettings(); |
| printSettings.setMultiline(wanted.toString().contains("\n") || actual.toString().contains("\n")); |
| printSettings.setMatchersToBeDescribedWithExtraTypeInfo(indexesOfMatchersToBeDescribedWithExtraTypeInfo); |
| |
| this.wanted = printSettings.print(wanted); |
| this.actual = printSettings.print(actual); |
| } |
| |
| public String getWanted() { |
| return wanted; |
| } |
| |
| public String getActual() { |
| return actual; |
| } |
| } |