Example #1
0
        public void InvokeAnd_ReturnAndSpecification()
        {
            var left     = MockComplexSpecification.True();
            var right    = MockComplexSpecification.False();
            var expected = new AndSpecification <object>(left, right);

            var sut = Specification.And(left, right);

            Assert.Equal(expected, sut, new SpecificationComparer());
        }
Example #2
0
            public void InvokeCorrectData_ReturnTrue(bool isNegatable)
            {
                var specification = !isNegatable
                    ? MockComplexSpecification.False()
                    : MockNegatableComplexSpecification.False();

                var sut = new NotSpecification <object>(specification);

                var result = sut.GetExpression().Compile().Invoke(new object());

                Assert.True(result);
            }
            public void CorrectData_ReturnTrue(bool isNegatable)
            {
                var specification = !isNegatable
                    ? MockComplexSpecification.False()
                    : MockNegatableComplexSpecification.False();

                var sut = new NotSpecification <object>(specification);

                var result = sut.IsSatisfiedBy(new object());

                Assert.True(result);
            }
            public void CorrectData_ReturnExpectedResultObject(bool isNegatable, SpecificationResult expected)
            {
                var specification = !isNegatable
                    ? MockComplexSpecification.False()
                    : MockNegatableComplexSpecification.False();

                var sut = new NotSpecification <object>(specification);

                var overall = sut.IsSatisfiedBy(new object(), out var result);

                Assert.True(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
Example #5
0
        public void InvokeAndProperty_ReturnPropertySpecification()
        {
            var left = MockComplexSpecification <int> .True();

            var right = MockComplexSpecification <int> .False();

            var expected = new PropertySpecification <FakeType, int>(
                ft => ft.First, new AndSpecification <int>(left, right));

            var sut = Specification.And <FakeType, int>(
                ft => ft.First, left, right);

            Assert.Equal(expected, sut, new SpecificationComparer());
        }
            public void FalseSpecification_ReturnExpectedResultObject <T>(FakeType candidate,
                                                                          Expression <Func <FakeType, T> > selector, SpecificationResult expected)
            {
                candidate = candidate.Second != "null" ? candidate : null;
                ISpecification <T> specification = MockComplexSpecification <T> .False();

                var sut = new PropertySpecification <FakeType, T>(selector, specification);

                var overall = sut.IsSatisfiedBy(candidate, out var result);

                Assert.False(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer(
                                 parameters: new Dictionary <string, object>
                {
                    { "PropertySpecification", specification }
                }));
            }