/// <summary> /// Checks whether a <see cref="ForbiddenParameterCombination"/> is as expected. /// </summary> /// <param name="expectedCombination">The expected combination.</param> /// <param name="actual">The actual combination.</param> private static void CheckForbiddenCombination(Dictionary <string, IAllele> expectedCombination, ForbiddenParameterCombination actual) { Assert.True(actual.IsMet(expectedCombination), "Combination is too strict."); foreach (var definition in expectedCombination) { var subset = new Dictionary <string, IAllele>(expectedCombination); subset.Remove(definition.Key); Assert.False( actual.IsMet(subset), $"Combination is not strict enough: Is also met without {definition.Key}."); } }
public void IsMetReturnsFalseForMissingParameter() { var forbiddenParameters = new Dictionary <string, IAllele> { { "a", new Allele <int>(3) }, { "b", new Allele <string>("bad") }, }; var combination = new ForbiddenParameterCombination(forbiddenParameters); this._parameters.Add("b", new Allele <string>("bad")); Assert.False(combination.IsMet(this._parameters), "Condition should not be met without 'b'."); }
public void IsMetReturnsTrueForForbiddenCombination() { var forbiddenParameters = new Dictionary <string, IAllele> { { "a", new Allele <int>(3) }, { "b", new Allele <string>("bad") }, }; var combination = new ForbiddenParameterCombination(forbiddenParameters); this._parameters.Add("c", new Allele <int>(3)); this._parameters.Add("a", new Allele <int>(3)); this._parameters.Add("b", new Allele <string>("bad")); Assert.True(combination.IsMet(this._parameters), "Expected the condition to be met."); }