@Test
public void forwardedBeforeWithPartialInput() throws IOException {

    SecurityAnalysisExecutionInput input = new SecurityAnalysisExecutionInput();
    input.setParameters(new SecurityAnalysisParameters());
    input.setNetworkVariant(EurostagTutorialExample1Factory.create(), VariantManagerConstants.INITIAL_VARIANT_ID);
    ExecutionHandler<SecurityAnalysisResult> handler = SecurityAnalysisExecutionHandlers.forwarded(input);
    List<CommandExecution> commandExecutions = handler.before(workingDir);
    assertEquals(1, commandExecutions.size());
    CommandExecution commandExecution = commandExecutions.get(0);
    assertEquals(1, commandExecution.getExecutionCount());
    SimpleCommand command = (SimpleCommand) commandExecution.getCommand();
    assertNotNull(command);
    String expectedDefaultProgram = SystemUtils.IS_OS_WINDOWS ? "itools.bat" : "itools";
    assertEquals(expectedDefaultProgram, command.getProgram());
    List<String> args = command.getArgs(0);
    assertThat(args).first().isEqualTo("security-analysis");
    assertThat(args.subList(1, args.size()))
            .containsExactlyInAnyOrder("--case-file=/work/network.xiidm",
                    "--parameters-file=/work/parameters.json",
                    "--output-file=/work/result.json",
                    "--output-format=JSON");
    assertThat(workingDir.resolve("network.xiidm")).exists();
    assertThat(workingDir.resolve("parameters.json")).exists();
}