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