Example #1
0
            public void RelatedTypes_NoException()
            {
                var left = MockSpecification<IEnumerable<char>>.True();
                var right = MockSpecification<ChildFakeType>.True();

                var exception = Record.Exception(() =>
                {
                    var sut = new AndSpecification<ChildFakeType>(left, right);
                    sut.IsSatisfiedBy(new ChildFakeType());
                });

                Assert.Null(exception);
            }
            public void RelatedTypes_NoException()
            {
                var specification = MockSpecification <IEnumerable <char> > .True();

                var exception = Record.Exception(() =>
                {
                    var sut = new PropertySpecification <FakeType, string>(
                        ft => ft.Second, specification);
                    sut.IsSatisfiedBy(new FakeType());
                });

                Assert.Null(exception);
            }
Example #3
0
            public void DifferentTypesSpecifications_ReplaceCandidateParameterToObjInExpression()
            {
                var left  = MockComplexSpecification.True();
                var right = MockSpecification.True();
                var sut   = new OrSpecification <object>(left, right);

                var expression = sut.GetExpression();
                var result     = expression.ToString();

                Assert.Matches(
                    @"obj => \(value\(FluentSpecification.Core.Tests.Mocks.TrueMockComplexSpecification\).IsSatisfiedBy\(obj\) OrElse .*\.IsSatisfiedBy\(obj\)\)",
                    result);
            }
Example #4
0
            public void CorrectSpecification_ReturnOrWithNegatedRight()
            {
                var other = MockSpecification.True();
                var sut   = MockSpecification.True();

                var andNot    = sut.OrNot(other);
                var fieldInfo = andNot.GetType().GetTypeInfo().BaseType
                                .GetField("_right", BindingFlags.Instance | BindingFlags.NonPublic);
                var result = fieldInfo.GetValue(andNot);

                Assert.NotNull(result);
                Assert.IsType <NotSpecification <object> >(result);
            }
Example #5
0
            public void InvokeRelatedTypes_NoException()
            {
                var left = MockSpecification <IEnumerable <char> > .True();

                var right = MockSpecification <ChildFakeType> .True();

                var exception = Record.Exception(() =>
                {
                    var sut = new OrSpecification <ChildFakeType>(left, right);
                    sut.GetExpression().Compile().Invoke(new ChildFakeType());
                });

                Assert.Null(exception);
            }
            public void CastNumeric_ReturnTrue()
            {
                var candidate     = 0.0;
                var specification = MockSpecification <int> .True();

                var expected = new SpecificationResult(2, true,
                                                       "CastSpecification<Double,Int32>(TrueMockSpecification<Int32>)");
                var sut = new CastSpecification <double, int>(specification);

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

                Assert.True(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
            public void CastToObject_ReturnExpectedResultObject()
            {
                var candidate     = 0;
                var specification = MockSpecification <object> .True();

                var expected = new SpecificationResult(2, true,
                                                       "CastSpecification<Int32,Object>(TrueMockSpecification<Object>)");
                var sut = new CastSpecification <int, object>(specification);

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

                Assert.True(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
            public void CastToInterfaceType_ReturnExpectedResultObject()
            {
                var candidate     = new FakeType();
                var specification = MockSpecification <IEnumerable <char> > .True();

                var expected = new SpecificationResult(2, true,
                                                       "CastSpecification<FakeType,IEnumerable<Char>>(TrueMockSpecification<IEnumerable<Char>>)");
                var sut = new CastSpecification <FakeType, IEnumerable <char> >(specification);

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

                Assert.True(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
            public void CastToBaseType_ReturnExpectedResultObject()
            {
                var candidate     = new ChildFakeType();
                var specification = MockSpecification <FakeType> .True();

                var expected = new SpecificationResult(2, true,
                                                       "CastSpecification<ChildFakeType,FakeType>(TrueMockSpecification<FakeType>)");
                var sut = new CastSpecification <ChildFakeType, FakeType>(specification);

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

                Assert.True(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
            public void FalseSpecification_ReturnExpectedResultObject()
            {
                var candidate     = 0;
                var specification = MockSpecification <object> .False();

                var expected = new SpecificationResult(2, false,
                                                       "CastSpecification<Int32,Object>(FalseMockSpecification<Object>+Failed)+Failed",
                                                       new FailedSpecification(typeof(FalseMockSpecification <object>), candidate,
                                                                               "Specification [FalseMockSpecification<Object>] is not satisfied by candidate"));
                var sut = new CastSpecification <int, object>(specification);

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

                Assert.False(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
Example #11
0
            public void NullCandidate_NoException(bool isValidable)
            {
                var specification = isValidable ? MockValidationSpecification.True() : MockSpecification.True();
                var sut           = new SpecificationAdapter <object>(specification);

                var exception = Record.Exception(() => sut.IsSatisfiedBy(null, out _));

                Assert.Null(exception);
            }
Example #12
0
            public void FalseSpecification_ReturnExpectedResultObject(bool isValidable, SpecificationResult expected)
            {
                var dum           = new object();
                var specification = isValidable ? MockValidationSpecification.False() : MockSpecification.False();
                var sut           = new SpecificationAdapter <object>(specification);

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

                Assert.False(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer(dum));
            }
            public void TrueSpecification_ReturnFalse(bool isNegatable)
            {
                var specification = isNegatable ? MockNegatableSpecification.True() : MockSpecification.True();
                var sut           = new SpecificationAdapter <object>(specification);

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

                Assert.False(result);
            }
            public void InvokeNull_NotRaiseException(bool isLinq)
            {
                var specification = isLinq ? new MockLinqSpecification <object>(obj => true) : MockSpecification.True();
                var sut           = new SpecificationAdapter <object>(specification);

                var exception = Record.Exception(() => sut.GetExpression().Compile().Invoke(null));

                Assert.Null(exception);
            }
            public void InvokeTrueSpecification_ReturnTrue(bool isLinq)
            {
                var specification = isLinq ? new MockLinqSpecification <object>(obj => true) : MockSpecification.True();
                var sut           = new SpecificationAdapter <object>(specification);

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

                Assert.True(result);
            }