public function testGetSetGender()
 {
     $expected = "M";
     $this->assertEmpty($this->instance->getGender());
     $this->assertTrue($this->instance->setGender($expected) instanceof Person);
     $this->assertEquals($expected, $this->instance->getGender());
 }
 /**
  * @param Person   $person
  * @param Drinking $drinking
  * @return bool
  */
 protected static function unitsInLowRiskForGender(Person $person, Drinking $drinking)
 {
     $units = DrinkingScore::getWeeklyUnits($drinking);
     switch ($person->getGender()) {
         case Person::GENDER_FEMALE:
             return $units < DrinkingScore::RAG_RED_FEMALE_CUTOFF && $units > DrinkingScore::RAG_GREEN_CUTOFF;
         case Person::GENDER_MALE:
             return $units < DrinkingScore::RAG_RED_MALE_CUTOFF && $units > DrinkingScore::RAG_GREEN_CUTOFF;
     }
 }
 /**
  * @param Person       $person
  * @param ParamFetcher $paramFetcher
  * @return Questionnaire
  * @throws \Exception
  */
 public function updatePerson(Person $person, ParamFetcher $paramFetcher)
 {
     $entityManager = $this->getEntityManager();
     $person->setTitle($paramFetcher->get('title'))->setFirstName($paramFetcher->get('firstname'))->setLastName($paramFetcher->get('lastname'))->setEmailAddress($paramFetcher->get('emailaddress'))->setSignedUp($paramFetcher->get("opt_in"))->setAddress($person->getAddress()->setAddressLines($paramFetcher->get('address'))->setPostcode($paramFetcher->get('postcode')));
     $person->setAge(null === $paramFetcher->get('age') ? $person->getAge() : $paramFetcher->get('age'));
     $person->setGender(null === $paramFetcher->get('gender') ? $person->getGender() : $paramFetcher->get('gender'));
     $entityManager->persist($person);
     $entityManager->flush();
     return $this->getQuestionnaireFromPerson($person);
 }
 /**
  * @param Person $person
  * @return array
  */
 public static function extractRespondent(Person $person)
 {
     return array("title" => $person->getTitle(), "firstName" => $person->getFirstName(), "lastName" => $person->getLastName(), "age" => $person->getAge(), "gender" => $person->getGender(), "emailAddress" => $person->getEmailAddress(), "hasOptedIn" => true === $person->isSignedUp() ? "true" : "false");
 }