// Copyright © 2011-2013, Esko Luontola <www.orfjackal.net>
// This software is released under the Apache License 2.0.
// The license text is at http://www.apache.org/licenses/LICENSE-2.0
package fi.jumi.core.testbench;
import fi.jumi.api.drivers.*;
import fi.jumi.core.api.*;
import fi.jumi.core.results.*;
import org.junit.Test;
import java.util.concurrent.Executor;
import static org.mockito.Mockito.*;
public class TestBenchTest {
private final TestBench testBench = new TestBench();
@Test
public void gives_events_about_what_tests_print() {
RunId run1 = new RunId(1);
Class<DummyTest> testClass = DummyTest.class;
RunVisitor visitor = mock(RunVisitor.class);
testBench.setDriverFinder(new StubDriverFinder(new Driver() {
@Override
public void findTests(Class<?> testClass, SuiteNotifier notifier, Executor executor) {
notifier.fireTestFound(TestId.ROOT, testClass.getSimpleName());
TestNotifier tn = notifier.fireTestStarted(TestId.ROOT);
testBench.out.println("printed to out");
testBench.err.println("printed to err");
tn.fireTestFinished();
}
}));
SuiteEventDemuxer results = testBench.run(testClass);
results.visitRun(run1, visitor);
verify(visitor).onPrintedOut(run1, TestFile.fromClass(testClass), TestId.ROOT, "printed to out");
verify(visitor).onPrintedErr(run1, TestFile.fromClass(testClass), TestId.ROOT, "printed to err");
}
private static class DummyTest {
}
}