package org.jbehave.core.steps;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import org.junit.Test;
public class PrintStreamStepMonitorBehaviour {
@Test
public void shouldReportStepEventsToMonitor() {
// Given
OutputStream out = new ByteArrayOutputStream();
StepMonitor monitor = new PrintStreamStepMonitor(new PrintStream(out));
// When
monitor.performing("a step", false);
monitor.foundParameter("parameter", 0);
monitor.usingStepsContextParameter("fromContext");
// Then
assertThat(out.toString(), containsString("Performing step 'a step'"));
assertThat(out.toString(), containsString("Found parameter 'parameter' for position 0"));
assertThat(out.toString(), containsString("Found parameter 'fromContext' from Steps Context"));
}
}