public List<SpecflowScenario> split() { List<SpecflowScenario> scenarios = Lists.newArrayList(); String currentTitle = null; SpecflowScenario currentScenario = null; for (List<String> blockLines : splitScenarios(outputLines)) { String blockTitle = blockLines.get(0); List<String> blockSteps = tail(blockLines); if (sameTitle(blockTitle, currentTitle)) { currentScenario.convertToTable(currentTitle); currentScenario.addRow(blockTitle, blockSteps); } else { currentScenario = new SpecflowScenario(removeParametersFrom(blockTitle)); scenarios.add(currentScenario); currentScenario.addSteps(blockSteps); } currentTitle = blockTitle; } return scenarios; }
@Override public TestOutcome convert(List<String> outputLines) { SpecflowScenarioTitleLine titleLine = new SpecflowScenarioTitleLine(outputLines.get(0)); Story story = Story.called(titleLine.getStoryTitle()).withPath(titleLine.getStoryPath()); TestOutcome outcome = TestOutcome.forTestInStory(titleLine.getScenarioTitle(), story); for(SpecflowScenario scenario : ScenarioSplitter.on(outputLines).split()) { if (scenario.usesDataTable()) { DataTable dataTable = DataTable.withHeaders(headersFrom(titleLine)).build(); outcome.useExamplesFrom(dataTable); recordRowSteps(outcome, scenario); } else { outcome.recordSteps(stepsFrom(scenario.getSteps())); } } return outcome; } };
public void convertToTable(String firstRowTitle) { if (rows == null) { rows = Lists.newArrayList(); addRow(firstRowTitle, steps); steps.clear(); } }
private void recordRowSteps(TestOutcome outcome, SpecflowScenario scenario) { for(SpecflowTableRow row : scenario.getRows()) { List<TestStep> rowSteps = stepsFrom(row.getRowSteps()); SpecflowScenarioTitleLine rowTitle = new SpecflowScenarioTitleLine(row.getRowTitle()); TestResult rowResult = TestResultList.overallResultFrom(getTestResults(rowSteps)); DataTableRow dataTableRow = new DataTableRow(rowTitle.getArguments()); dataTableRow.setResult(rowResult); outcome.addRow(dataTableRow); outcome.recordStep(TestStep.forStepCalled(rowTitle.getRowTitle()).withResult(rowResult)); outcome.startGroup(); outcome.recordSteps(rowSteps); outcome.endGroup(); } }
@Override public TestOutcome convert(List<String> outputLines) { SpecflowScenarioTitleLine titleLine = new SpecflowScenarioTitleLine(outputLines.get(0)); Story story = Story.called(titleLine.getStoryTitle()).withPath(titleLine.getStoryPath()); TestOutcome outcome = TestOutcome.forTestInStory(titleLine.getScenarioTitle(), story); for(SpecflowScenario scenario : ScenarioSplitter.on(outputLines).split()) { if (scenario.usesDataTable()) { DataTable dataTable = DataTable.withHeaders(headersFrom(titleLine)).build(); outcome.useExamplesFrom(dataTable); recordRowSteps(outcome, scenario); } else { outcome.recordSteps(stepsFrom(scenario.getSteps())); } } return outcome; } };
public void convertToTable(String firstRowTitle) { if (rows == null) { rows = new ArrayList<>(); addRow(firstRowTitle, steps); steps.clear(); } }
private void recordRowSteps(TestOutcome outcome, SpecflowScenario scenario) { for(SpecflowTableRow row : scenario.getRows()) { List<TestStep> rowSteps = stepsFrom(row.getRowSteps()); SpecflowScenarioTitleLine rowTitle = new SpecflowScenarioTitleLine(row.getRowTitle()); TestResult rowResult = TestResultList.of(getTestResults(rowSteps)).getOverallResult(); DataTableRow dataTableRow = new DataTableRow(rowTitle.getArguments()); dataTableRow.setResult(rowResult); outcome.addRow(dataTableRow); outcome.recordStep(TestStep.forStepCalled(rowTitle.getRowTitle()).withResult(rowResult)); outcome.startGroup(); outcome.recordSteps(rowSteps); outcome.endGroup(); } }
public List<SpecflowScenario> split() { List<SpecflowScenario> scenarios = Lists.newArrayList(); String currentTitle = null; SpecflowScenario currentScenario = null; for (List<String> blockLines : splitScenarios(outputLines)) { String blockTitle = blockLines.get(0); List<String> blockSteps = tail(blockLines); if (sameTitle(blockTitle, currentTitle)) { currentScenario.convertToTable(currentTitle); currentScenario.addRow(blockTitle, blockSteps); } else { currentScenario = new SpecflowScenario(removeParametersFrom(blockTitle)); scenarios.add(currentScenario); currentScenario.addSteps(blockSteps); } currentTitle = blockTitle; } return scenarios; }
private TestOutcome toTestOutcome(List<String> outputLines) { SpecflowScenarioTitleLine titleLine = new SpecflowScenarioTitleLine(outputLines.get(0)); Story story = Story.called(titleLine.getStoryTitle()).withPath(titleLine.getStoryPath()); TestOutcome outcome = TestOutcome.forTestInStory(titleLine.getScenarioTitle(), story); for(SpecflowScenario scenario : ScenarioSplitter.on(outputLines).split()) { if (scenario.usesDataTable()) { DataTable dataTable = DataTable.withHeaders(headersFrom(titleLine)).build(); outcome.useExamplesFrom(dataTable); recordRowSteps(outcome, scenario); } else { outcome.recordSteps(stepsFrom(scenario.getSteps())); } } return outcome; }
public void convertToTable(String firstRowTitle) { if (rows == null) { rows = Lists.newArrayList(); addRow(firstRowTitle, steps); steps.clear(); } }
private void recordRowSteps(TestOutcome outcome, SpecflowScenario scenario) { for(SpecflowTableRow row : scenario.getRows()) { List<TestStep> rowSteps = stepsFrom(row.getRowSteps()); SpecflowScenarioTitleLine rowTitle = new SpecflowScenarioTitleLine(row.getRowTitle()); TestResult rowResult = TestResultList.of(getTestResults(rowSteps)).getOverallResult(); DataTableRow dataTableRow = new DataTableRow(rowTitle.getArguments()); dataTableRow.setResult(rowResult); outcome.addRow(dataTableRow); outcome.recordStep(TestStep.forStepCalled(rowTitle.getRowTitle()).withResult(rowResult)); outcome.startGroup(); outcome.recordSteps(rowSteps); outcome.endGroup(); } }
public List<SpecflowScenario> split() { List<SpecflowScenario> scenarios = new ArrayList<>(); String currentTitle = null; SpecflowScenario currentScenario = null; for (List<String> blockLines : splitScenarios(outputLines)) { String blockTitle = blockLines.get(0); List<String> blockSteps = tail(blockLines); if (sameTitle(blockTitle, currentTitle)) { currentScenario.convertToTable(currentTitle); currentScenario.addRow(blockTitle, blockSteps); } else { currentScenario = new SpecflowScenario(removeParametersFrom(blockTitle)); scenarios.add(currentScenario); currentScenario.addSteps(blockSteps); } currentTitle = blockTitle; } return scenarios; }