Пример #1
0
            public void InvokeNullCandidate_NoException()
            {
                var specification = MockSpecification <FakeType> .True();

                var sut = new CastSpecification <object, FakeType>(specification);

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

                Assert.Null(exception);
            }
            public void NullCandidate_NoException()
            {
                var specification = MockSpecification <FakeType> .True();

                var sut = new CastSpecification <object, FakeType>(specification);

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

                Assert.Null(exception);
            }
            public void InvalidTypeCandidate_ReturnFalse()
            {
                var specification = MockSpecification <List <int> > .True();

                var sut = new CastSpecification <IEnumerable <int>, List <int> >(specification);

                var result = sut.IsSatisfiedBy(new int[0]);

                Assert.False(result);
            }
Пример #4
0
        public void InvokeCompositeCast_ReturnCastSpecification()
        {
            var specification = MockComplexSpecification <IEnumerable <int> > .True();

            var expected = new CastSpecification <FakeType, IEnumerable <int> >(specification);

            var sut = new MockCompositeSpecification <FakeType>().Cast(specification);

            Assert.Equal(expected, sut, new SpecificationComparer());
        }
            public void CastToObject_ReturnTrue()
            {
                var candidate     = 0;
                var specification = MockSpecification <object> .True();

                var sut = new CastSpecification <int, object>(specification);

                var result = sut.IsSatisfiedBy(candidate);

                Assert.True(result);
            }
Пример #6
0
            public void InvokeInvalidTypeCandidate_CastException()
            {
                var specification = MockSpecification <List <int> > .True();

                var sut = new CastSpecification <IEnumerable <int>, List <int> >(specification);

                var exception = Record.Exception(() => sut.GetExpression().Compile().Invoke(new int[0]));

                Assert.NotNull(exception);
                Assert.IsType <InvalidCastException>(exception);
            }
Пример #7
0
            public void InvokeCastFromObject_ReturnTrue()
            {
                var candidate     = 0;
                var specification = MockSpecification <object> .True();

                var sut = new CastSpecification <int, object>(specification);

                var result = sut.GetExpression().Compile().Invoke(candidate);

                Assert.True(result);
            }
Пример #8
0
            public void InvokeCastNumeric_ReturnTrue()
            {
                var candidate     = 0.0;
                var specification = MockSpecification <int> .True();

                var sut = new CastSpecification <double, int>(specification);

                var result = sut.GetExpression().Compile().Invoke(candidate);

                Assert.True(result);
            }
Пример #9
0
            public void InvokeCastToBaseType_ReturnTrue()
            {
                var candidate     = new ChildFakeType();
                var specification = MockSpecification <FakeType> .True();

                var sut = new CastSpecification <ChildFakeType, FakeType>(specification);

                var result = sut.GetExpression().Compile().Invoke(candidate);

                Assert.True(result);
            }
            public void FalseSpecification_ReturnFalse()
            {
                var candidate     = 0;
                var specification = MockSpecification <object> .False();

                var sut = new CastSpecification <int, object>(specification);

                var result = sut.IsSatisfiedBy(candidate);

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

                var sut = new CastSpecification <double, int>(specification);

                var result = sut.IsSatisfiedBy(candidate);

                Assert.True(result);
            }
            public void CastToBaseType_ReturnTrue()
            {
                var candidate     = new ChildFakeType();
                var specification = MockSpecification <FakeType> .True();

                var sut = new CastSpecification <ChildFakeType, FakeType>(specification);

                var result = sut.IsSatisfiedBy(candidate);

                Assert.True(result);
            }
            public void CastToInterfaceType_ReturnTrue()
            {
                var candidate     = new FakeType();
                var specification = MockSpecification <IEnumerable <char> > .True();

                var sut = new CastSpecification <FakeType, IEnumerable <char> >(specification);

                var result = sut.IsSatisfiedBy(candidate);

                Assert.True(result);
            }
Пример #14
0
            public void InvokeCastToInterfaceType_ReturnTrue()
            {
                var candidate     = new FakeType();
                var specification = MockSpecification <IEnumerable <char> > .True();

                var sut = new CastSpecification <FakeType, IEnumerable <char> >(specification);

                var result = sut.GetExpression().Compile().Invoke(candidate);

                Assert.True(result);
            }
            public void CastCorrectSpecification_ReturnExpression()
            {
                var specification = MockSpecification <object> .True();

                var sut = new CastSpecification <FakeType, object>(specification);

                var expected   = sut.GetExpression();
                var expression = (Expression <Func <FakeType, bool> >)sut;

                Assert.Equal(expected, expression);
            }
            public void CastCorrectSpecification_ReturnExpressionWithParameterFromSelector()
            {
                var specification = MockSpecification <object> .True();

                var sut = new CastSpecification <FakeType, object>(specification);

                var expected = sut.GetExpression();
                var result   = (Expression)sut;

                Assert.Equal(expected, result);
            }
Пример #17
0
            public void CorrectSpecification_ReturnExpressionWithParameterFromSelector()
            {
                var specification = MockSpecification <object> .True();

                var sut = new CastSpecification <FakeType, object>(specification);

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

                Assert.Matches(@"candidate => .*\.IsSatisfiedBy\(Convert\(candidate.*\)\)", result);
            }
Пример #18
0
            public void CorrectSpecification_ReturnExpressionAsAbstractExpression()
            {
                var specification = MockSpecification <object> .True();

                var sut = new CastSpecification <FakeType, object>(specification);

                var expected = sut.GetExpression();
                var result   = ((ILinqSpecification)sut).GetExpression();

                Assert.Equal(expected, result);
            }
            public void CastCorrectSpecification_ReturnIsSatisfiedByFunction()
            {
                ISpecification <object> specification = MockComplexSpecification <object> .True();

                var sut = new CastSpecification <FakeType, object>(specification);
                Func <FakeType, bool> expected = sut.IsSatisfiedBy;

                var result = (Func <FakeType, bool>)sut;

                Assert.NotNull(result);
                Assert.Equal(expected, result);
            }
            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 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 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());
            }
            public void InvalidTypeCandidate_ReturnExpectedResultObject()
            {
                IEnumerable <int>            candidate     = new int[0];
                ISpecification <List <int> > specification = MockComplexSpecification <List <int> > .True();

                var expected = new SpecificationResult(1, false,
                                                       "CastSpecification<IEnumerable<Int32>,List<Int32>>()+Failed",
                                                       new FailedSpecification(typeof(CastSpecification <IEnumerable <int>, List <int> >),
                                                                               new Dictionary <string, object>
                {
                    { "Specification", specification }
                }, candidate, "Cannot cast type [Int32[]] to [List<Int32>]"));
                var sut = new CastSpecification <IEnumerable <int>, List <int> >(specification);

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

                Assert.False(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }