public void AllowsCollectionToBeFilteredBySpecificationWithAllOperator()
        {
            var testObject = new TestObject()
            {
                Collection = new List <TestObject>()
                {
                    new TestObject()
                    {
                        BooleanProperty = true
                    },
                    new TestObject()
                    {
                        BooleanProperty = true
                    }
                }
            };

            var specification = new TestObjectSpecification()
                                .CollectionAll(p => p.BooleanProperty(true));

            var expectedResult = true;

            ExpressionSpecificationTester.TestSpecification(specification, testObject, expectedResult);
        }
        public void ExpressionReturnsCorrectResult(TestObject testObject, bool result)
        {
            var specification = new PropertySpecification <TestObject, TestObject>(p => p.Property, new ExpressionSpecification <TestObject>(p => p.BooleanProperty));

            ExpressionSpecificationTester.TestSpecification(specification, testObject, result);
        }
        public void ReturnsCorrectResultForLambdaExpression(TestObject testObject, bool expectedResult)
        {
            var specification = new PropertySpecification <TestObject, TestObject>(p => p.Property, new ExpressionSpecification <TestObject>(p => p.BooleanProperty));

            specification.IsSatisfiedBy(testObject).ShouldBe(expectedResult);
        }