public void EvaluatorBase_ThrowsArgumentNullException_WhenEvaluatorPredicateIsNull()
        {
            // Arrange
            var persons = new TestPersonFactory().CreatePersons();

            // Act
            // Assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  persons.ParityEvaluator((Func <int, bool>)null, (Func <TestPerson, int>)null)
                                                  .Count());
        }
        public void EvaluatorBase_ThrowsArgumentNullException_WhenEvaluatorSelectorIsNull()
        {
            // Arrange
            var persons = new TestPersonFactory().CreatePersons();

            // Act
            // Assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  persons.ParityEvaluator(ParityMathExtensions.EvenPredicate, (Func <TestPerson, int>)null)
                                                  .Count());
        }
        public void EvaluatorBase_ReturnsTotalElements_WhenParamsAreCorrect()
        {
            // Arrange
            var persons = new TestPersonFactory().CreatePersons();

            // Act
            var result = persons.ParityEvaluator(ParityMathExtensions.EvenPredicate, p => p.Age)
                         .Count();

            // Assert
            Assert.Equal(1, result);
        }