private Map<String, Object> createExamples(Examples examples) { Map<String, Object> examplesMap = new HashMap<String, Object>(); examplesMap.put("name", examples.getName()); examplesMap.put("keyword", examples.getKeyword()); examplesMap.put("description", examples.getDescription() != null ? examples.getDescription() : ""); List<Map<String, Object>> rowList = new ArrayList<Map<String, Object>>(); rowList.add(createRowMap(examples.getTableHeader())); for (TableRow row : examples.getTableBody()) { rowList.add(createRowMap(row)); } examplesMap.put("rows", rowList); if (!examples.getTags().isEmpty()) { examplesMap.put("tags", createTagList(examples.getTags())); } return examplesMap; }
static String calculateId(AstNode astNode) { Node node = astNode.node; if (node instanceof ScenarioDefinition) { return calculateId(astNode.parent) + ";" + convertToId(((ScenarioDefinition) node).getName()); } if (node instanceof ExamplesRowWrapperNode) { return calculateId(astNode.parent) + ";" + Integer.toString(((ExamplesRowWrapperNode) node).bodyRowIndex + 2); } if (node instanceof TableRow) { return calculateId(astNode.parent) + ";" + Integer.toString(1); } if (node instanceof Examples) { return calculateId(astNode.parent) + ";" + convertToId(((Examples) node).getName()); } if (node instanceof Feature) { return convertToId(((Feature) node).getName()); } return ""; }
private void printExamples(Examples examples) { out.println(); printTags(examples.getTags(), EXAMPLES_INDENT); out.println(EXAMPLES_INDENT + examples.getKeyword() + ": " + examples.getName()); printDescription(examples.getDescription()); }
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()) ); } }
public static String nameFor(Examples exampleTable) { return emptyStringOrValueOf(exampleTable.getName()); }
@Override public Optional<String> asExampleTable(ScenarioDisplayOption withDisplayOption) { if (!(scenarioDefinition instanceof ScenarioOutline)) { return Optional.empty(); } ScenarioOutline scenarioOutline = (ScenarioOutline) scenarioDefinition; int exampleRow = 0; for (Examples example : scenarioOutline.getExamples()) { if (example.getName().equalsIgnoreCase(exampleTableName.trim())) { return Optional.of(exampleTableInMarkdown.renderedFormOf(example, exampleRow, withDisplayOption)); } exampleRow++; } return Optional.empty(); } }
private static String renderedExamples(Examples examples) { StringBuffer renderedTable = new StringBuffer(); renderedTable.append(examples.getKeyword()).append(": "); if (examples.getName() != null) { renderedTable.append(examples.getName()); } renderedTable.append(" ").append(System.lineSeparator()); if (examples.getDescription() != null) { renderedTable.append(examples.getDescription()).append(" ").append(System.lineSeparator()); } renderedTable.append(System.lineSeparator()); addRow(renderedTable, examples.getTableHeader().getCells(), null); addSeparatorCells(renderedTable, examples.getTableHeader().getCells().size()); for(TableRow row : examples.getTableBody()) { addRow(renderedTable, row.getCells(),null); } return renderedTable.toString(); }
private static String renderedExamples(Examples examples, String featureName, String scenarioName, int exampleTableNumber) { ExampleRowResultIcon exampleRowResultIcon = new ExampleRowResultIcon(featureName, scenarioName, exampleTableNumber); StringBuffer renderedTable = new StringBuffer(); renderedTable.append(examples.getKeyword()).append(": "); if (examples.getName() != null) { renderedTable.append(examples.getName()); } renderedTable.append(" ").append(System.lineSeparator()); if (examples.getDescription() != null) { renderedTable.append(examples.getDescription()).append(" ").append(System.lineSeparator()); } renderedTable.append(System.lineSeparator()); addRow(renderedTable, examples.getTableHeader().getCells()," "); addSeparatorCells(renderedTable, examples.getTableHeader().getCells().size()); for(TableRow row : examples.getTableBody()) { addRow(renderedTable, row.getCells(), exampleRowResultIcon.resultToken()); } return renderedTable.toString(); }
private List<Examples> replaceExamplesPlaceholders(List<Examples> examples) throws DataException { List<Examples> resultExamples = new ArrayList<>(); for (Examples example : examples) { Examples resultExample = new Examples( example.getLocation(), example.getTags(), example.getKeyword(), example.getName(), example.getDescription(), example.getTableHeader(), replaceTableRows(example.getTableBody())); resultExamples.add(resultExample); } return resultExamples; }
private List<Examples> replaceExamplesPlaceholders(List<Examples> examples) throws DataException { List<Examples> resultExamples = new ArrayList<>(); for (Examples example : examples) { Examples resultExample = new Examples( example.getLocation(), example.getTags(), example.getKeyword(), example.getName(), example.getDescription(), example.getTableHeader(), replaceTableRows(example.getTableBody())); resultExamples.add(resultExample); } return resultExamples; }
private void examples(Feature currentFeature, List<Tag> scenarioOutlineTags, String id, List<Examples> examplesList) { String featureName = currentFeature.getName(); List<Tag> currentFeatureTags = currentFeature.getTags(); addingScenarioOutlineSteps = false; initializeExamples(); for (Examples examples : examplesList) { if (examplesAreNotExcludedByTags(examples, scenarioOutlineTags, currentFeatureTags) && examplesAreNotExcludedByLinesFilter(examples)) { List<TableRow> examplesTableRows = examples.getTableBody().stream().filter( tableRow -> tableRowIsNotExcludedByLinesFilter(tableRow)).collect(Collectors.toList()); List<String> headers = getHeadersFrom(examples.getTableHeader()); List<Map<String, String>> rows = getValuesFrom(examplesTableRows, headers); for (int i = 0; i < examplesTableRows.size(); i++) { addRow(exampleRows(), headers, examplesTableRows.get(i)); if (examples.getTags() != null) { exampleTags().put(examplesTableRows.get(i).getLocation().getLine(), examples.getTags()); } } String scenarioId = scenarioIdFrom(featureName, id); boolean newScenario = !scenarioId.equals(currentScenarioId); table = (newScenario) ? thucydidesTableFrom(SCENARIO_OUTLINE_NOT_KNOWN_YET, headers, rows, trim(examples.getName()), trim(examples.getDescription())) : addTableRowsTo(table, headers, rows, trim(examples.getName()), trim(examples.getDescription())); table.addTagsToLatestDataSet(examples.getTags().stream().map(tag -> TestTag.withValue(tag.getName().substring(1))).collect(Collectors.toList())); exampleCount = table.getSize(); currentScenarioId = scenarioId; } } }
private void examples(Feature currentFeature, List<Tag> scenarioOutlineTags, String id, List<Examples> examplesList) { String featureName = currentFeature.getName(); List<Tag> currentFeatureTags = currentFeature.getTags(); addingScenarioOutlineSteps = false; initializeExamples(); for (Examples examples : examplesList) { if (examplesAreNotExcludedByTags(examples, scenarioOutlineTags, currentFeatureTags) && examplesAreNotExcludedByLinesFilter(examples)) { List<TableRow> examplesTableRows = examples.getTableBody().stream().filter( tableRow -> tableRowIsNotExcludedByLinesFilter(tableRow)).collect(Collectors.toList()); List<String> headers = getHeadersFrom(examples.getTableHeader()); List<Map<String, String>> rows = getValuesFrom(examplesTableRows, headers); for (int i = 0; i < examplesTableRows.size(); i++) { addRow(exampleRows(), headers, examplesTableRows.get(i)); if (examples.getTags() != null) { exampleTags().put(examplesTableRows.get(i).getLocation().getLine(), examples.getTags()); } } String scenarioId = scenarioIdFrom(featureName, id); boolean newScenario = !scenarioId.equals(currentScenarioId); table = (newScenario) ? thucydidesTableFrom(SCENARIO_OUTLINE_NOT_KNOWN_YET, headers, rows, trim(examples.getName()), trim(examples.getDescription())) : addTableRowsTo(table, headers, rows, trim(examples.getName()), trim(examples.getDescription())); table.addTagsToLatestDataSet(examples.getTags().stream().map(tag -> TestTag.withValue(tag.getName().substring(1))).collect(Collectors.toList())); exampleCount = table.getSize(); currentScenarioId = scenarioId; } } }