public ISpecification<Person> GetNameAndJobSpecification(SpecificationLogic logic, string nameFragment, string jobFragment)
        {
            var nameSpecification = new PersonNameSpecification(nameFragment);
            var jobSpecification = new PersonJobTitleSpecification(jobFragment);

            return getSpecificationByLogic(logic, nameSpecification, jobSpecification);

        }
 public void ReturnsTrueWhenMatchesPartially()
 {
     var specification = new PersonJobTitleSpecification("CEO");
     var person = new Person() { JobTitle = "The CEO" };
     Assert.True(specification.IsSatisfiedBy(person));
 }
 public void MatchingIsCaseInsensitive()
 {
     var specification = new PersonJobTitleSpecification("Manager");
     var person = new Person() { JobTitle = "MaNaGeR" };
     Assert.True(specification.IsSatisfiedBy(person));
 }
 public void ReturnsTrueIfNoJobTitleIsSupplied()
 {
     var specification = new PersonJobTitleSpecification(string.Empty);
     var person = new Person();
     Assert.True(specification.IsSatisfiedBy(person));
 }