public ISpecification<Person> GetAgeSpecifications(SpecificationLogic logic, int? minAge, int? maxAge)
        {
            var minAgeSpecification = new PersonFromAgeSpecification(minAge);
            var maxAgeSpecification = new PersonUntilAgeSpecification(maxAge);

            return getSpecificationByLogic(logic, minAgeSpecification, maxAgeSpecification);
        }
        public void ReturnsTrueIfPersonAgeEqualsNumberSpeicifed()
        {
            var specification = new PersonFromAgeSpecification(15);
            var person = new Person() { Age = 15 };

            Assert.True(specification.IsSatisfiedBy(person));
        }
        public void ReturnsFalsefPersonAgeLesserThanNumberSpeicifed()
        {
            var specification = new PersonFromAgeSpecification(16);
            var person = new Person() { Age = 15 };

            Assert.False(specification.IsSatisfiedBy(person));
        }
        public void ReturnsTrueIfNoValueIsSpecified()
        {
            var specification = new PersonFromAgeSpecification(null);
            var person = new Person();

            Assert.True(specification.IsSatisfiedBy(person));
        }