| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.mockito.internal.matchers; |
| |
| import org.junit.Test; |
| import org.mockito.internal.matchers.text.MatchersPrinter; |
| import org.mockito.internal.reporting.PrintSettings; |
| import org.mockitoutil.TestBase; |
| |
| import java.util.Arrays; |
| import java.util.List; |
| |
| import static junit.framework.TestCase.assertEquals; |
| |
| @SuppressWarnings("unchecked") |
| public class MatchersPrinterTest extends TestBase { |
| |
| private final MatchersPrinter printer = new MatchersPrinter(); |
| |
| @Test |
| public void shouldGetArgumentsLine() { |
| String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1), new Equals(2)), new PrintSettings()); |
| assertEquals("(1, 2);", line); |
| } |
| |
| @Test |
| public void shouldGetArgumentsBlock() { |
| String line = printer.getArgumentsBlock((List) Arrays.asList(new Equals(1), new Equals(2)), new PrintSettings()); |
| assertEquals("(\n 1,\n 2\n);", line); |
| } |
| |
| @Test |
| public void shouldDescribeTypeInfoOnlyMarkedMatchers() { |
| //when |
| String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1L), new Equals(2)), PrintSettings.verboseMatchers(1)); |
| //then |
| assertEquals("(1L, (Integer) 2);", line); |
| } |
| |
| @Test |
| public void shouldDescribeStringMatcher() { |
| //when |
| String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1L), new Equals("x")), PrintSettings.verboseMatchers(1)); |
| //then |
| assertEquals("(1L, (String) \"x\");", line); |
| } |
| |
| @Test |
| public void shouldGetVerboseArgumentsInBlock() { |
| //when |
| String line = printer.getArgumentsBlock((List) Arrays.asList(new Equals(1L), new Equals(2)), PrintSettings.verboseMatchers(0, 1)); |
| //then |
| assertEquals("(\n (Long) 1L,\n (Integer) 2\n);", line); |
| } |
| |
| @Test |
| public void shouldGetVerboseArgumentsEvenIfSomeMatchersAreNotVerbose() { |
| //when |
| String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1L), NotNull.NOT_NULL), PrintSettings.verboseMatchers(0)); |
| //then |
| assertEquals("((Long) 1L, notNull());", line); |
| } |
| } |