casesOfModes method

List<ContractCase> casesOfModes()

The cases of the apps with every module for the other values of the mode options (see RoleOption.mode): each case of casesOfAll once more for every combination of the values of the mode options of the roles of its app, but the combination of the first value of each, which is the app of casesOfAll itself.

Each has the values of its combination other than the first of their options among its ContractCase.roleOptions and after its name, such as every module (riverpod) --clock-hours=12; an option with its first value is left out, as in casesOfAll. An option of a role that the app lacks has no cases, nor has one that roleOptions give a value.

Implementation

List<ContractCase> casesOfModes() => [
      for (final contractCase in casesOfAll())
        for (final modes in _modeCombinations(
          _openModesOf(_rolesOf(contractCase)),
        ).skip(1))
          _withModes(contractCase, modes),
    ];