@Test
public void testExecutionNodeTreeBuildingWithScenarioName() {

    // this failure used to be more dramatic - now the parameter name is
    // passed instead - not such a big failure
    final String feature = "./target/test-classes/features/allFeatures.feature";
    final String scenarioName = "Simple top level scenario";
    final String substeps = "./target/test-classes/substeps/simple.substeps";
    final IExecutionListener notifier = mock(IExecutionListener.class);
    final List<SubstepExecutionFailure> failures = new ArrayList<>();
    final List<Class<?>> stepImplementationClasses = new ArrayList<>();
    stepImplementationClasses.add(MockStepImplementations.class);
    final SubstepsExecutionConfig executionConfig = new SubstepsExecutionConfig();
    Assert.assertTrue(failures.isEmpty());
    executionConfig.setScenarioName(scenarioName);
    executionConfig.setFeatureFile(feature);
    executionConfig.setSubStepsFileName(substeps);
    executionConfig.setDescription("ExecutionNodeRunner Test feature set");
    executionConfig.setStepImplementationClasses(stepImplementationClasses);
    executionConfig.setStrict(false);
    executionConfig.setNonStrictKeywordPrecedence(new String[]{"Given", "And"});
    executionConfig.setFastFailParseErrors(false);
    Config masterConfig = NewSubstepsExecutionConfig.toConfig(executionConfig);
    Config cfg = SubstepsConfigLoader.splitMasterConfig(masterConfig).get(0);
    NewSubstepsExecutionConfig.setThreadLocalConfig(cfg);
    final RootNode rootNode = runner.prepareExecutionConfig(cfg);
    Assert.assertThat(rootNode.getChildren().size(), is(1));
    Assert.assertThat(rootNode.getChildren().get(0).getChildren().size(), is(1));
}