internal void AddKnownCombination( ScenarioCombinationType combinationType, ScenarioKey scenarioKey) { var knownCombination = new KnownCombination(combinationType, scenarioKey); this.AddKnownCombination(knownCombination); }
private KnownCombination ValidateKnownCombinationConfigurationBuilderValues( ScenarioCombinationType scenarioCombinationType, IDictionary <string, string> scenarioCombinationConfiguration) { var scenariosKeys = new List <ScenarioKey>(); var parentGroupsRegex = string.Empty; var childrenGroupsRegex = string.Empty; this.ValidateScenarioCombinationConfigurationValues( scenarioCombinationConfiguration, (builderScenarioKey) => { scenariosKeys.Add(builderScenarioKey); parentGroupsRegex += Keys.GetScenarioContextKeyValueRegexValue( builderScenarioKey.ContextIndex, builderScenarioKey.ScenarioName); childrenGroupsRegex += Keys.GetScenarioContextKeyValueRegexValue( builderScenarioKey.ContextIndex, builderScenarioKey.ScenarioName, false); }, (index) => { childrenGroupsRegex += Keys.GetScenarioContextKeyValueRegexValue( index); }); var knownCombination = new KnownCombination( scenarioCombinationType, scenariosKeys.ToArray()); this.ValidateParentKnownScenarioCombinationConfiguration( knownCombination.CombinationKey, parentGroupsRegex); if (scenarioCombinationType != ScenarioCombinationType.Unknown) { this.ValidateChildrenKnownScenarioCombinationConfiguration( childrenGroupsRegex); } return(knownCombination); }
private void AddKnownCombination( KnownCombination knownCombination) { this.knownCombinations.Add( knownCombination.CombinationKey, knownCombination); if (knownCombination.CombinationType == ScenarioCombinationType.AlwaysValid && !this.HasAlwaysValidKnownScenario) { this.HasAlwaysValidKnownScenario = true; } if (knownCombination.CombinationType == ScenarioCombinationType.AlwaysInvalid && !this.HasAlwaysInvalidKnownScenario) { this.HasAlwaysInvalidKnownScenario = true; } }