public void ReturnsTrueIfPersonAgeLesserThanNumberSpeicifed()
        {
            var specification = new PersonUntilAgeSpecification(16);
            var person = new Person() { Age = 15 };

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

            Assert.True(specification.IsSatisfiedBy(person));
        }
        public void ReturnsFalseIfPersonAgeBiggerThanNumberSpeicifed()
        {
            var specification = new PersonUntilAgeSpecification(14);
            var person = new Person() { Age = 15 };

            Assert.False(specification.IsSatisfiedBy(person));
        }
        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);
        }