private void processScenarioOutlineExamples(Map<Integer, AstNode> nodeMap, ScenarioOutline scenarioOutline, AstNode childNode) { for (Examples examples : scenarioOutline.getExamples()) { AstNode examplesNode = new AstNode(examples, childNode); TableRow headerRow = examples.getTableHeader(); AstNode headerNode = new AstNode(headerRow, examplesNode); nodeMap.put(headerRow.getLocation().getLine(), headerNode); for (int i = 0; i < examples.getTableBody().size(); ++i) { TableRow examplesRow = examples.getTableBody().get(i); Node rowNode = new ExamplesRowWrapperNode(examplesRow, i); AstNode expandedScenarioNode = new AstNode(rowNode, examplesNode); nodeMap.put(examplesRow.getLocation().getLine(), expandedScenarioNode); } } }
private void printScenarioOutline(ScenarioOutline scenarioOutline) { out.println(); printTags(scenarioOutline.getTags(), SCENARIO_INDENT); out.println(SCENARIO_INDENT + getScenarioDefinitionText(scenarioOutline) + " " + getLocationText(currentFeatureFile, scenarioOutline.getLocation().getLine())); printDescription(scenarioOutline.getDescription()); for (Step step : scenarioOutline.getSteps()) { out.println(STEP_INDENT + formats.get("skipped").text(step.getKeyword() + step.getText())); } }
private Map<String, Object> createScenarioOutline(ScenarioOutline scenarioOutline) { Map<String, Object> scenarioOutlineMap = new HashMap<String, Object>(); scenarioOutlineMap.put("name", scenarioOutline.getName()); scenarioOutlineMap.put("keyword", scenarioOutline.getKeyword()); scenarioOutlineMap.put("description", scenarioOutline.getDescription() != null ? scenarioOutline.getDescription() : ""); if (!scenarioOutline.getTags().isEmpty()) { scenarioOutlineMap.put("tags", createTagList(scenarioOutline.getTags())); } return scenarioOutlineMap; }
String scenarioName = translatedScenarioKeyword + ": " + scenarioOutline.getName(); String scenarioDescription = scenarioOutline.getDescription(); List<String> scenarioTags = gherkinToCucableConverter.convertGherkinTagsToCucableTags(scenarioOutline.getTags()); List<Step> steps = gherkinToCucableConverter.convertGherkinStepsToCucableSteps(scenarioOutline.getSteps()); if (scenarioOutline.getExamples().isEmpty()) { throw new CucablePluginException("Scenario outline without examples table!"); for (Examples exampleTable : scenarioOutline.getExamples()) { Map<String, List<String>> exampleMap = gherkinToCucableConverter.convertGherkinExampleTableToCucableExampleMap(exampleTable);
private void compileScenarioOutline(List<Pickle> pickles, List<PickleStep> backgroundSteps, ScenarioOutline scenarioOutline, List<Tag> featureTags) { if (scenarioOutline.getSteps().isEmpty()) return; for (final Examples examples : scenarioOutline.getExamples()) { if (examples.getTableHeader() == null) continue; List<TableCell> variableCells = examples.getTableHeader().getCells(); tags.addAll(scenarioOutline.getTags()); tags.addAll(examples.getTags()); for (Step scenarioOutlineStep : scenarioOutline.getSteps()) { String stepText = interpolate(scenarioOutlineStep.getText(), variableCells, valueCells); interpolate(scenarioOutline.getName(), variableCells, valueCells), steps, pickleTags(tags), asList( pickleLocation(values.getLocation()), pickleLocation(scenarioOutline.getLocation())
private BigDecimal scenarioStepCountFor(int backgroundStepCount, ScenarioDefinition scenarioDefinition) { final int stepCount; if (scenarioDefinition instanceof ScenarioOutline) { ScenarioOutline outline = (ScenarioOutline) scenarioDefinition; Integer exampleCount = outline.getExamples().stream().map(examples -> examples.getTableBody().size()).mapToInt(Integer::intValue).sum(); stepCount = exampleCount * (backgroundStepCount + outline.getSteps().size()); } else { stepCount = backgroundStepCount + scenarioDefinition.getSteps().size(); } return BigDecimal.valueOf(stepCount); }
examplesRunning = true; addingScenarioOutlineSteps = true; examples(currentFeature.get(), ((ScenarioOutline) currentScenarioDefinition).getTags(), currentScenarioDefinition.getName(), ((ScenarioOutline) currentScenarioDefinition).getExamples());
private ScenarioDefinition concreteScenario(ScenarioOutline abstractScenario, Map<String, String> parameters) { List<Step> steps = new ArrayList<>(); for (Step step : abstractScenario.getSteps()) { steps.add(concreteStep(step, parameters)); } return new gherkin.ast.Scenario( abstractScenario.getTags(), abstractScenario.getLocation(), abstractScenario.getKeyword(), abstractScenario.getName(), abstractScenario.getDescription(), steps); }
private List<Tag> scenarioTags(ScenarioDefinition scenario) { if (Scenario.class.isAssignableFrom(scenario.getClass())) { return ((Scenario) scenario).getTags(); } else { return ((ScenarioOutline) scenario).getTags(); } }
private void addOutlineStepsToReport(ScenarioOutline scenarioOutline) { for (Step step : scenarioOutline.getSteps()) { Map<String, Object> stepMap = new HashMap<String, Object>(); stepMap.put("name", step.getText()); stepMap.put("keyword", step.getKeyword()); if (step.getArgument() != null) { Node argument = step.getArgument(); if (argument instanceof DocString) { stepMap.put("doc_string", createDocStringMap((DocString)argument)); } else if (argument instanceof DataTable) { stepMap.put("rows", createDataTableList((DataTable)argument)); } } jsFunctionCall("step", stepMap); } }
|| scenarioLineNumbers.contains(scenarioOutline.getLocation().getLine())) { List<SingleScenario> outlineScenarios = getSingleScenariosFromOutline(
private BigDecimal scenarioStepCountFor(int backgroundStepCount, ScenarioDefinition scenarioDefinition) { final int stepCount; if (scenarioDefinition instanceof ScenarioOutline) { ScenarioOutline outline = (ScenarioOutline) scenarioDefinition; Integer exampleCount = outline.getExamples().stream().map(examples -> examples.getTableBody().size()).mapToInt(Integer::intValue).sum(); stepCount = exampleCount * (backgroundStepCount + outline.getSteps().size()); } else { stepCount = backgroundStepCount + scenarioDefinition.getSteps().size(); } return BigDecimal.valueOf(stepCount); }
examplesRunning = true; addingScenarioOutlineSteps = true; examples(currentFeature.get(), ((ScenarioOutline) currentScenarioDefinition).getTags(), currentScenarioDefinition.getName(), ((ScenarioOutline) currentScenarioDefinition).getExamples());
private List<Tag> scenarioTags(ScenarioDefinition scenario) { if (Scenario.class.isAssignableFrom(scenario.getClass())) { return ((Scenario) scenario).getTags(); } else { return ((ScenarioOutline) scenario).getTags(); } }
private boolean scenarioContainsExampleTableWithName(ScenarioDefinition scenarioDefinition, String exampleTableName) { if (!(scenarioDefinition instanceof ScenarioOutline)) { return false; } return ((ScenarioOutline) scenarioDefinition).getExamples().stream() .anyMatch( examplesTable -> examplesTable.getName().equalsIgnoreCase(exampleTableName.trim()) ); } }
private List<Tag> getTagsOfScenarioDefinition(ScenarioDefinition scenarioDefinition) { List<Tag> tags = new ArrayList<>(); if (isScenario(scenarioDefinition)) { tags = ((Scenario) scenarioDefinition).getTags(); } else if (isScenarioOutline(scenarioDefinition)) { tags = ((ScenarioOutline) scenarioDefinition).getTags(); } return tags; }
private int scenarioCountFor(ScenarioDefinition scenarioDefinition) { if (scenarioDefinition instanceof ScenarioOutline) { return ((ScenarioOutline) scenarioDefinition).getExamples().stream().map(examples -> examples.getTableBody().size()).mapToInt(Integer::intValue).sum(); } else { return 1; } }
private List<Tag> getTagsOfScenarioDefinition(ScenarioDefinition scenarioDefinition) { List<Tag> tags = new ArrayList<>(); if (isScenario(scenarioDefinition)) { tags = ((Scenario) scenarioDefinition).getTags(); } else if (isScenarioOutline(scenarioDefinition)) { tags = ((ScenarioOutline) scenarioDefinition).getTags(); } return tags; }
private int scenarioCountFor(ScenarioDefinition scenarioDefinition) { if (scenarioDefinition instanceof ScenarioOutline) { return ((ScenarioOutline) scenarioDefinition).getExamples().stream().map(examples -> examples.getTableBody().size()).mapToInt(Integer::intValue).sum(); } else { return 1; } }
tags.addAll(tags(scenarioOutline.getTags()));