use of gherkin.ast.Node in project page-factory-2 by sbtqa.
the class FragmentDataTableUtils method getDataTable.
static List<Map<String, String>> getDataTable(Step step) {
List<Map<String, String>> dataTableAsListOfMaps = new ArrayList<>();
Node argument = step.getArgument();
if (!(argument instanceof DataTable)) {
return dataTableAsListOfMaps;
}
DataTable dataTable = (DataTable) step.getArgument();
for (int i = FIRST_ROW_INDEX; i < dataTable.getRows().size(); i++) {
Map<String, String> dataTableRow = new HashMap<>();
List<TableRow> rows = dataTable.getRows();
for (int j = 0; j < rows.get(HEADER_INDEX).getCells().size(); j++) {
String key = rows.get(HEADER_INDEX).getCells().get(j).getValue();
List<TableCell> cells = dataTable.getRows().get(i).getCells();
String value = cells.get(j).getValue();
dataTableRow.put(key, value);
}
dataTableAsListOfMaps.add(dataTableRow);
}
return dataTableAsListOfMaps;
}
use of gherkin.ast.Node in project cucable-plugin by trivago.
the class GherkinToCucableConverter method convertGherkinStepsToCucableSteps.
/**
* Converts a list of Gherkin steps to Cucable steps including data tables.
*
* @param gherkinSteps a {@link Step} list.
* @return a {@link com.trivago.rta.vo.Step} list.
*/
List<com.trivago.rta.vo.Step> convertGherkinStepsToCucableSteps(final List<Step> gherkinSteps) {
List<com.trivago.rta.vo.Step> steps = new ArrayList<>();
for (Step gherkinStep : gherkinSteps) {
com.trivago.rta.vo.Step step;
com.trivago.rta.vo.DataTable dataTable = null;
String docString = null;
Node argument = gherkinStep.getArgument();
if (argument instanceof DataTable) {
dataTable = convertGherkinDataTableToCucumberDataTable((DataTable) argument);
} else if (argument instanceof DocString) {
docString = ((DocString) argument).getContent();
}
String keywordAndName = gherkinStep.getKeyword().concat(gherkinStep.getText());
step = new com.trivago.rta.vo.Step(keywordAndName, dataTable, docString);
steps.add(step);
}
return steps;
}
use of gherkin.ast.Node in project cucable-plugin by trivago.
the class GherkinToCucableConverter method convertGherkinStepsToCucableSteps.
/**
* Converts a list of Gherkin steps to Cucable steps including data tables.
*
* @param gherkinSteps a {@link Step} list.
* @return a {@link com.trivago.vo.Step} list.
*/
List<com.trivago.vo.Step> convertGherkinStepsToCucableSteps(final List<Step> gherkinSteps) {
List<com.trivago.vo.Step> steps = new ArrayList<>();
for (Step gherkinStep : gherkinSteps) {
com.trivago.vo.Step step;
com.trivago.vo.DataTable dataTable = null;
String docString = null;
Node argument = gherkinStep.getArgument();
if (argument instanceof DataTable) {
dataTable = convertGherkinDataTableToCucableDataTable((DataTable) argument);
} else if (argument instanceof DocString) {
docString = ((DocString) argument).getContent();
}
String keywordAndName = gherkinStep.getKeyword().concat(gherkinStep.getText());
step = new com.trivago.vo.Step(keywordAndName, dataTable, docString);
steps.add(step);
}
return steps;
}