private ScenarioOutcome scenarioOutcomeFrom(Feature feature, ScenarioDefinition scenarioDefinition, TestOutcomes testOutcomes) { List<TestOutcome> outcomes = testOutcomes.testOutcomesWithName(scenarioDefinition.getName()); String scenarioTitle = scenarioDefinition.getName(); TestResult result = (outcomes.isEmpty()) ? TestResult.UNDEFINED : TestResultList.overallResultFrom(outcomes.stream().map(TestOutcome::getResult).collect(Collectors.toList())); List<String> reportBadges = ReportBadges.from(outcomes, scenarioDefinition.getName()); String featureReport = new ReportNameProvider().forRequirement(feature.getName(),"feature"); List<String> renderedSteps = scenarioDefinition.getSteps().stream() .map(RenderCucumber::step) .collect(Collectors.toList()); List<String> renderedExamples = (scenarioDefinition instanceof ScenarioOutline) ? RenderCucumber.examples(((ScenarioOutline) scenarioDefinition).getExamples(), feature.getName(), scenarioDefinition.getName()) : Collections.EMPTY_LIST; int exampleCount = (scenarioDefinition instanceof ScenarioOutline) ? ((ScenarioOutline) scenarioDefinition).getExamples().stream().mapToInt(examples -> examples.getTableBody().size()).sum() : 0; return new ScenarioSummaryOutcome(scenarioTitle, scenarioDefinition.getKeyword(), result, reportBadges, scenarioDefinition.getDescription(), renderedSteps, renderedExamples, exampleCount, feature.getName(), featureReport); }