package org.jbehave.core.reporters;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import org.hamcrest.Matchers;
import org.jbehave.core.model.Story;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
public class NullStoryReporterBehaviour {
private final String NL = System.getProperty("line.separator");
@Test
public void shouldOnlyReportOverriddenMethods() {
ByteArrayOutputStream out = new ByteArrayOutputStream();
final PrintStream printStream = new PrintStream(out);
StoryReporter reporter = new NullStoryReporter(){
@Override
public void beforeStory(Story story, boolean givenStory) {
printStream.println("beforeStory");
}
@Override
public void afterStory(boolean givenStory) {
printStream.println("afterStory");
}
};
StoryNarrator.narrateAnInterestingStory(reporter, false);
assertThat(out.toString(), Matchers.equalTo("beforeStory" + NL + "afterStory" + NL));
}
}