matchScenarioContracts<T extends ZukeScenarioContract> function

List<T> matchScenarioContracts<T extends ZukeScenarioContract>(
  1. Iterable<T> contracts,
  2. ZukeScenarioPattern pattern
)

Selects contracts in declaration order, requiring at least one match.

Implementation

List<T> matchScenarioContracts<T extends ZukeScenarioContract>(
  Iterable<T> contracts,
  ZukeScenarioPattern pattern,
) {
  final selected = contracts.where(pattern.matches).toList();
  if (selected.isEmpty) {
    throw StateError('Scenario pattern matched no generated contracts');
  }
  return selected;
}