LoadSequencerWorkflow extends AbstractWorkflow { @Override public void cancelInput() { if (partitionSteps.stream().anyMatch(this::hasInput)) { getLastCompletedPartitionStep().cancelInput(); } else if (hasInput(containerModelStep)) { containerModelStep.cancelInput(); } else { containerStep.cancelInput(); } }  @Override WorkflowStepPrompt getStep(int stepNumber); @Override boolean isComplete(); @Override List<String> processInput(int stepNumber, ProgressStep step); @Override void cancelInput(); @Override String getConfirmMessage(); @Override void execute(WorkflowExecutor workflowExecutor);  }
@Test public void testCancelInput() { enterNewFlowCell(); sut.cancelInput(); assertState(false, 3, InputType.POOL, InputType.SKIP); sut.cancelInput(); assertState(false, 2, InputType.POOL, InputType.SKIP); sut.cancelInput(); assertState(false, 1, InputType.SEQUENCING_CONTAINER_MODEL); sut.cancelInput(); assertState(false, 0, InputType.SEQUENCER_PARTITION_CONTAINER, InputType.STRING); sut.cancelInput(); }