private FlowStep getLastStepOf(Flow flow) { List<FlowStep> stepsOfFlow = flow.getSteps(); int lastStepIndex = stepsOfFlow.size() - 1; FlowStep lastStepOfFlow = stepsOfFlow.get(lastStepIndex); return lastStepOfFlow; } }
/** * Returns the first step of the flow * * @return the first step of the flow, or an empty optional if the flow has no * steps. */ public Optional<FlowStep> getFirstStep() { List<FlowStep> steps = getSteps(); return steps.size() > 0 ? Optional.of(steps.get(0)) : Optional.empty(); }
private void appendToLastStepOfFlow() { List<FlowStep> flowSteps = getFlow().getSteps(); FlowStep lastFlowStep = flowSteps.isEmpty() ? null : flowSteps.get(flowSteps.size() - 1); setPreviousStepInFlow(lastFlowStep); setFlowPosition(new After(lastFlowStep)); }
@Test public void createsTwoStepsInBasicFlowAndCheckIfTheyExistByIndex() { UseCasePart useCasePart = modelBuilder.useCase(USE_CASE); useCasePart.basicFlow() .step(SYSTEM_DISPLAYS_TEXT).system(displaysConstantText()) .step(SYSTEM_DISPLAYS_TEXT_AGAIN).system(displaysConstantText()); List<FlowStep> steps = useCasePart.getUseCase().getBasicFlow().getSteps(); assertEquals(2, steps.size()); assertEquals(SYSTEM_DISPLAYS_TEXT, steps.get(0).getName()); assertEquals(SYSTEM_DISPLAYS_TEXT_AGAIN, steps.get(1).getName()); }
@Test public void createsOneStepInAlternativeFlowAndCheckIfItExistsByIndex() { UseCasePart useCasePart = modelBuilder.useCase(USE_CASE); useCasePart.basicFlow() .step(SYSTEM_DISPLAYS_TEXT).system(displaysConstantText()).flow(ALTERNATIVE_FLOW) .step(SYSTEM_DISPLAYS_TEXT_AGAIN).system(displaysConstantText()); List<FlowStep> steps = useCasePart.getUseCase().findFlow(ALTERNATIVE_FLOW).getSteps(); assertEquals(1, steps.size()); assertEquals(SYSTEM_DISPLAYS_TEXT_AGAIN, steps.get(0).getName()); }