import org.junit.Ignore; import org.junit.Before; import org.junit.Test; import java.util.List; import static java.util.Arrays.asList; import static java.util.Collections.singletonList; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public final class DiamondPrinterTest { private DiamondPrinter diamondPrinter; @Before public void setUp() { diamondPrinter = new DiamondPrinter(); } @Test public void testOneByOneDiamond() { List<String> output = diamondPrinter.printToList('A'); assertThat(output, is(singletonList("A"))); } @Ignore("Remove to run test") @Test public void testTwoByTwoDiamond() { List<String> output = diamondPrinter.printToList('B'); assertThat(output, is(asList(" A ", "B B", " A "))); } @Ignore("Remove to run test") @Test public void testThreeByThreeDiamond() { List<String> output = diamondPrinter.printToList('C'); assertThat(output, is(asList(" A ", " B B ", "C C", " B B ", " A "))); } @Ignore("Remove to run test") @Test public void testFiveByFiveDiamond() { List<String> output = diamondPrinter.printToList('E'); assertThat(output, is(asList(" A ", " B B ", " C C ", " D D ", "E E", " D D ", " C C ", " B B ", " A "))); } @Ignore("Remove to run test") @Test public void testFullDiamond() { List<String> output = diamondPrinter.printToList('Z'); assertThat(output, is(asList(" A ", " B B ", " C C ", " D D ", " E E ", " F F ", " G G ", " H H ", " I I ", " J J ", " K K ", " L L ", " M M ", " N N ", " O O ", " P P ", " Q Q ", " R R ", " S S ", " T T ", " U U ", " V V ", " W W ", " X X ", " Y Y ", "Z Z", " Y Y ", " X X ", " W W ", " V V ", " U U ", " T T ", " S S ", " R R ", " Q Q ", " P P ", " O O ", " N N ", " M M ", " L L ", " K K ", " J J ", " I I ", " H H ", " G G ", " F F ", " E E ", " D D ", " C C ", " B B ", " A "))); } }