scenarioExampleCases function
Enumerates every executable case for scenario in source order.
Implementation
Iterable<ScenarioExampleCase> scenarioExampleCases(
GherkinScenario scenario,
) sync* {
if (scenario.examples.isEmpty) {
yield const ScenarioExampleCase(
examplesIndex: 0,
rowIndex: 0,
displayLabel: '',
values: <String, String>{},
);
return;
}
for (
var examplesIndex = 0;
examplesIndex < scenario.examples.length;
examplesIndex++
) {
final examples = scenario.examples[examplesIndex];
for (var rowIndex = 0; rowIndex < examples.rows.length; rowIndex++) {
yield ScenarioExampleCase(
examplesIndex: examplesIndex,
rowIndex: rowIndex,
displayLabel: _exampleDisplayLabel(examples, examplesIndex, rowIndex),
values: Map.unmodifiable(
Map<String, String>.fromIterables(
examples.headers,
examples.rows[rowIndex],
),
),
);
}
}
}