public void Not_TwoDifferentPropsOneShouldNotMatch_ShouldFindOne()
        {
            //ARRANGE
            var expectedId         = 1;
            var notExpectedOtherId = 2;
            var expected           = new TestClass(expectedId, 1);
            var list = new List <TestClass>
            {
                expected,
                new TestClass(1, 2),
                new TestClass(1, 2),
                new TestClass(1, 2),
                new TestClass(1, 2),
            };

            var idSpec      = new TestIdSpecification(expectedId);
            var otherIdSpec = new TestOtherIdSpecification(notExpectedOtherId);
            var notSpec     = idSpec.Not(otherIdSpec);


            //ACT
            var result = list.Where(notSpec);

            //ASSERT
            result.Single().Should().BeSameAs(expected);
        }
Example #2
0
        public void And_TwoDifferentPropsShouldMatch_MatchFound()
        {
            //ARRANGE
            var expectedId      = 1;
            var expectedOtherId = 1;
            var expected        = new TestClass(expectedId, expectedOtherId);
            var list            = new List <TestClass>
            {
                expected,
                new TestClass(1, 2),
                new TestClass(1, 3),
                new TestClass(1, 4),
                new TestClass(1, 5),
            };

            var idSpec      = new TestIdSpecification(expectedId);
            var otherIdSpec = new TestOtherIdSpecification(expectedOtherId);
            var andSpec     = idSpec.And(otherIdSpec);


            //ACT
            var result = list.Where(andSpec);

            //ASSERT
            result.Single().Should().BeSameAs(expected);
        }
        public void Not_TwoDifferentPropsOneShouldNotMatch_ShouldNotFindAny()
        {
            //ARRANGE
            var list = new List <TestClass>
            {
                new TestClass(1, 2),
                new TestClass(1, 2),
                new TestClass(1, 2),
                new TestClass(1, 2),
                new TestClass(1, 2),
            };

            var idSpec      = new TestIdSpecification(1);
            var otherIdSpec = new TestOtherIdSpecification(2);
            var notSpec     = idSpec.Not(otherIdSpec);


            //ACT
            var result = list.Where(notSpec);

            //ASSERT
            result.Should().BeEmpty();
        }
Example #4
0
        public void And_TwoDifferentPropsShouldMatch_NoMatchFound()
        {
            //ARRANGE
            var list = new List <TestClass>
            {
                new TestClass(1, 1),
                new TestClass(1, 2),
                new TestClass(1, 3),
                new TestClass(1, 4),
                new TestClass(1, 5),
            };

            var idSpec      = new TestIdSpecification(0);
            var otherIdSpec = new TestOtherIdSpecification(0);
            var andSpec     = idSpec.And(otherIdSpec);


            //ACT
            var result = list.Where(andSpec);

            //ASSERT
            result.Should().BeEmpty();
        }