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