示例#1
0
        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);
        }
示例#2
0
        /// <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");
            }
        }