public void CombineTest(IEnumerable <bool> inputBooleans, bool expectedResult, MockTestFilter.MatchFunction matchFunction) { var filters = new List <MockTestFilter>(); foreach (var inputBool in inputBooleans) { var strictFilter = new MockTestFilter(_dummyFixture, matchFunction, inputBool); Assert.AreEqual(inputBool, ExecuteMatchFunction(strictFilter, matchFunction)); filters.Add(strictFilter); } var filter = new AndFilter(filters.ToArray()); bool calculatedResult = ExecuteMatchFunction(filter, matchFunction); Assert.AreEqual(expectedResult, calculatedResult); }
/// <summary> /// Executes the requested <paramref name="matchFunction"/> on the <paramref name="filter"/>. /// </summary> private bool ExecuteMatchFunction( TestFilter filter, MockTestFilter.MatchFunction matchFunction) { switch (matchFunction) { case MockTestFilter.MatchFunction.IsExplicitMatch: return filter.IsExplicitMatch(_dummyFixture); case MockTestFilter.MatchFunction.Match: return filter.Match(_dummyFixture); case MockTestFilter.MatchFunction.Pass: return filter.Pass(_dummyFixture); default: throw new ArgumentException( "Unexpected StrictIdFilterForTests.EqualValueFunction.", "matchFunction"); } }
public void CombineTest(IEnumerable<bool> inputBooleans, bool expectedResult, MockTestFilter.MatchFunction matchFunction) { var filters = new List<MockTestFilter>(); foreach (var inputBool in inputBooleans) { var strictFilter = new MockTestFilter(_dummyFixture, matchFunction, inputBool); Assert.AreEqual(inputBool, ExecuteMatchFunction(strictFilter, matchFunction)); filters.Add(strictFilter); } var filter = new OrFilter(filters.ToArray()); bool calculatedResult = ExecuteMatchFunction(filter, matchFunction); Assert.AreEqual(expectedResult, calculatedResult); }