Step firstStepNormal = mockSuccessfulStep("Given I succeed");
Step secondStepPending = mock(Step.class, "secondStepPending");
Step thirdStepNormal = mock(Step.class, "thirdStepNormal");
Step fourthStepAlsoPending = mock(Step.class, "fourthStepAlsoPending");
StepCollector collector = mock(StepCollector.class);
CandidateSteps mySteps = new Steps();
Scenario scenario = new Scenario();
when(collector.collectScenarioSteps(eq(asList(mySteps)), eq(scenario), eq(parameters))).thenReturn(
asList(firstStepNormal, secondStepPending, thirdStepNormal, fourthStepAlsoPending));
when(secondStepPending.perform(null)).thenReturn(pending("When I am pending"));
when(thirdStepNormal.doNotPerform(Matchers.<UUIDExceptionWrapper>any())).thenReturn(notPerformed("Then I should not be performed"));