@Test
public void reactToStepThreeTimes() {
timesDisplayed = 0;
Model model = modelBuilder
.useCase(USE_CASE)
.basicFlow()
.step(CUSTOMER_ENTERS_TEXT)
.user(EntersText.class).system(displaysEnteredTextAndIncrementCounter())
.reactWhile(() -> timesDisplayed < 3)
.step(CUSTOMER_ENTERS_NUMBER).user(EntersNumber.class).system(displaysEnteredNumber())
.build();
modelRunner.run(model)
.reactTo(entersText(), entersText(), entersText(),
entersText(), entersText(), entersText(),
entersText(), entersText(), entersText(),
entersNumber());
assertRecordedStepNames(CUSTOMER_ENTERS_TEXT, CUSTOMER_ENTERS_TEXT,
CUSTOMER_ENTERS_TEXT, CUSTOMER_ENTERS_NUMBER);
}
private Consumer<EntersText> displaysEnteredTextAndIncrementCounter(){