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"); } }