public void InversionFilterDelegatesPrepareCall()
        {
            var args = ArgumentsMockData.BaseBuilder().Build();

            var wrappedFilter = new Mock <IReleasePredicate>();

            wrappedFilter.Setup(f => f.Prepare(args)).Verifiable();

            var filter = new ConditionalInversion(wrappedFilter.Object);

            filter.Prepare(args);

            Mock.Verify(wrappedFilter);
        }
        public void ConditionalInversionFilter(bool invert, bool wrappedResult, bool expected)
        {
            var builder = ArgumentsMockData.BaseBuilder();

            if (invert)
            {
                builder.Inverted();
            }

            var filter = new ConditionalInversion(new ConstantValueFilter(wrappedResult));

            filter.Prepare(builder.Build());
            Assert.AreEqual(expected, filter.Matches(null));
        }