public function testFindOneByCriteria()
 {
     $person = $this->svc->createFromArray(['firstname' => 'Derek', 'middlename' => 'Stephen', 'lastname' => 'McLean', 'aka' => 'Delboy', 'dob' => new DateTime('1978-02-17'), 'birthplace' => 'Glasgow', 'country' => CountryFactory::generate('GBR')]);
     $this->svc->savePerson($person);
     $person = $this->svc->createFromArray(['firstname' => 'Another', 'middlename' => 'Person', 'lastname' => 'Added', 'aka' => 'Nobody', 'dob' => new DateTime('1979-03-18'), 'birthplace' => 'Manchester', 'country' => CountryFactory::generate('GBR')]);
     $this->svc->savePerson($person);
     $person = $this->svc->createFromArray(['firstname' => 'Yet', 'middlename' => 'Another', 'lastname' => 'Person', 'aka' => 'Someone', 'dob' => new DateTime('1980-04-19'), 'birthplace' => 'Kingston', 'country' => CountryFactory::generate('JAM')]);
     $person = $this->svc->savePerson($person);
     $criteria = new PersonCriteria();
     $criteria->setId($person->getId());
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $criteria = new PersonCriteria();
     $criteria->setFirstname('Derek');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $criteria = new PersonCriteria();
     $criteria->setMiddlename('Person');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $criteria = new PersonCriteria();
     $criteria->setLastname('McLean');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $criteria = new PersonCriteria();
     $criteria->setAka('Someone');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $criteria = new PersonCriteria();
     $criteria->setBirthplace('Glasgow');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $this->svc->deletePerson($person);
     $criteria = new PersonCriteria();
     $criteria->setDob('1979-03-18');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $this->svc->deletePerson($person);
     $criteria = new PersonCriteria();
     $criteria->setCountry('JAM');
     $person = $this->svc->findOneByCriteria($criteria);
     $this->assertInstanceOf('Del\\Person\\Entity\\Person', $person);
     $this->svc->deletePerson($person);
 }
 /**
  * @param PersonCriteria $criteria
  */
 private function checkOffset(PersonCriteria $criteria)
 {
     $criteria->hasOffset() ? $this->qb->setFirstResult($criteria->getOffset()) : null;
 }