12637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin/* 22637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin * Copyright (c) 2007 Mockito contributors 32637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin * This program is made available under the terms of the MIT License. 42637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin */ 52637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinpackage org.mockito.internal.matchers; 62637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 72637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport org.junit.Test; 82637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport org.mockito.internal.matchers.text.MatchersPrinter; 92637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport org.mockito.internal.reporting.PrintSettings; 102637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport org.mockitoutil.TestBase; 112637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 122637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport java.util.Arrays; 132637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport java.util.List; 142637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 152637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport static junit.framework.TestCase.assertEquals; 162637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 172637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin@SuppressWarnings("unchecked") 182637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinpublic class MatchersPrinterTest extends TestBase { 192637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 202637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin private final MatchersPrinter printer = new MatchersPrinter(); 212637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 222637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 232637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void shouldGetArgumentsLine() { 242637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1), new Equals(2)), new PrintSettings()); 252637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals("(1, 2);", line); 262637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 272637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 282637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 292637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void shouldGetArgumentsBlock() { 302637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin String line = printer.getArgumentsBlock((List) Arrays.asList(new Equals(1), new Equals(2)), new PrintSettings()); 312637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals("(\n 1,\n 2\n);", line); 322637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 332637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 342637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 352637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void shouldDescribeTypeInfoOnlyMarkedMatchers() { 362637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //when 372637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1L), new Equals(2)), PrintSettings.verboseMatchers(1)); 382637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //then 392637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals("(1L, (Integer) 2);", line); 402637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 412637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 422637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 432637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void shouldDescribeStringMatcher() { 442637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //when 452637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1L), new Equals("x")), PrintSettings.verboseMatchers(1)); 462637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //then 472637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals("(1L, (String) \"x\");", line); 482637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 492637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 502637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 512637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void shouldGetVerboseArgumentsInBlock() { 522637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //when 532637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin String line = printer.getArgumentsBlock((List) Arrays.asList(new Equals(1L), new Equals(2)), PrintSettings.verboseMatchers(0, 1)); 542637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //then 552637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals("(\n (Long) 1L,\n (Integer) 2\n);", line); 562637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 572637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 582637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 592637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void shouldGetVerboseArgumentsEvenIfSomeMatchersAreNotVerbose() { 602637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //when 612637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin String line = printer.getArgumentsLine((List) Arrays.asList(new Equals(1L), NotNull.NOT_NULL), PrintSettings.verboseMatchers(0)); 622637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin //then 632637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals("((Long) 1L, notNull());", line); 642637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 652637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin} 66