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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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()); }