diff --git a/src/test/java/teetime/stage/io/PrinterTest.java b/src/test/java/teetime/stage/io/PrinterTest.java new file mode 100644 index 0000000000000000000000000000000000000000..a8de4966676e04dbd2df39142817ed0f1d7b718d --- /dev/null +++ b/src/test/java/teetime/stage/io/PrinterTest.java @@ -0,0 +1,35 @@ +package teetime.stage.io; + +import static org.hamcrest.CoreMatchers.containsString; +import static org.junit.Assert.assertThat; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.Test; + +import teetime.framework.test.StageTester; +import teetime.stage.basic.merger.Merger; + +public class PrinterTest { + + @Test + public void testOutput() { + Printer<Merger<Object>> printer = new Printer<Merger<Object>>(); + Merger<Object> testStage = new Merger<Object>(); + + final StringBuilder sb = new StringBuilder(128); + sb.append(printer.getId()); + sb.append('(').append(testStage.getClass().getSimpleName()).append(") ").append(testStage.toString()); + + PrintStream systemOut = System.out; + final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + StageTester.test(printer).send(Arrays.asList(testStage)).to(printer.getInputPort()).start(); + assertThat(outContent.toString(), containsString(sb.toString())); + + System.setOut(systemOut); + } +}