public function testGetSetWineAmount() { $expected = PHP_INT_MAX; $this->assertEmpty($this->instance->getWineAmount()); $this->assertInstanceOf(Drinks::class, $this->instance->setWineAmount($expected)); $this->assertEquals($expected, $this->instance->getWineAmount()); }
public function testIGetAnAmberMaleDrinkingMessage() { $expected = array('results' => array('headline' => "score_headline_6", 'intro' => "score_headline_intro", 'overview' => "score_about_you_amber_neutral_total_amber", 'behaviours_headline' => "score_behaviour_results_amber_headline", 'behaviours_body' => "score_behaviour_results_amber_body", 'smoking' => "behaviours_smoking_green", 'drinking' => "behaviours_drinking_amber_gt_14_units_lte_5_days_male", 'moving' => "behaviours_moving_red_no_strength", 'eating' => "behaviours_eating_green")); $questionnaire = new Questionnaire(new Person()); $questionnaire->getPerson()->setGender('male'); $questionnaire->getMoving()->setCompletedDate(new \DateTime()); $questionnaire->getEating()->setCompletedDate(new \DateTime()); $drinks = new Drinks(); $drinks->setBeerCiderPintAmount(2)->setBeerCiderBottleAmount(3)->setWineAmount(1)->setSpiritsAmount(2); $questionnaire->getDrinking()->setWeekdayDrinks($drinks)->setWeekendDrinks($drinks)->setWhichDaysDoYouDrink('mon, sat, sun')->setDoYouDrink(Drinking::DOES_DRINK)->setCompletedDate(new \DateTime()); $questionnaire->getSmoking()->setCompletedDate(new \DateTime()); $this->assertEquals($expected, $this->instance->buildNarrative($questionnaire)->getMessages()); }
public function testIfIAmFemaleAndIHaveMoreThanPrescribedUnitsMyScoreIsRed() { $person = new Person(); $person->setGender(Person::GENDER_FEMALE); $questionnaire = new Questionnaire($person); $drinking = $questionnaire->getDrinking(); $drinking->setWhichDaysDoYouDrink('mon, tues, wed, thurs, fri'); $wDrinks = new Drinks(); $wDrinks->setWineAmount(5); $drinking->setWeekdayDrinks($wDrinks)->setWeekendDrinks(new Drinks())->setCompletedDate(new \DateTime())->setDoYouDrink(Drinking::DOES_DRINK); $questionnaire->setDrinking($drinking); $rag = $this->instance->calculateScore($questionnaire); $this->assertEquals(DrinkingScore::RAG_RED, $rag['rag']); $this->assertEquals(DrinkingScore::SCORE_RED, $rag['value']); }
public function setUp() { $this->builder = new NarrativeBuilder(); $person = new Person(); $person->setGender('male')->setAge('40')->setFirstName(uniqid('FN_')); $this->questionnaire = new Questionnaire($person); $this->questionnaire->getAboutYou()->setCompletedDate(new \DateTime()); $this->questionnaire->getAboutYou()->getFeelings()->setEnergy(30)->setFatigue(30)->setMood(30)->setFitness(30)->setStress(30)->setWeight(0)->setCompletedDate(new \DateTime()); $this->questionnaire->getEating()->setDrinksChoice('water')->setBreakfastChoice('other')->setCheeseChoice('other')->setProteinChoice('5')->setFruitAndVegChoice('5')->setPotatoesChoice('other')->setDailySnackChoice('')->setCompletedDate(new \DateTime()); $this->questionnaire->getSmoking()->setDoYouSmoke('no')->setCompletedDate(new \DateTime()); $drinks = new Drinks(); $drinks->setBeerCiderPintAmount(2); $this->questionnaire->getDrinking()->setDoYouDrink(Drinking::DOES_DRINK)->setWeekdayDrinks($drinks)->setWeekendDrinks($drinks)->setWhichDaysDoYouDrink('mon, wed, fri, sun')->setCompletedDate(new \DateTime()); $this->questionnaire->getMoving()->setCompletedDate(new \DateTime()); }
public function setUp() { $this->builder = new NarrativeBuilder(); $person = new Person(); $person->setGender('female')->setAge('40')->setFirstName(uniqid('FN_')); $this->questionnaire = new Questionnaire($person); $this->questionnaire->getAboutYou()->setCompletedDate(new \DateTime()); $this->questionnaire->getAboutYou()->getFeelings()->setWeight(0)->setCompletedDate(new \DateTime()); $this->questionnaire->getEating()->setDrinksChoice('sugary drink')->setBreakfastChoice('sugary cereals')->setCheeseChoice('hard cheese')->setProteinChoice('ham')->setFruitAndVegChoice('0')->setPotatoesChoice('chips')->setDailySnackChoice('cake, biscuits, crisps, sweets')->setCompletedDate(new \DateTime()); $this->questionnaire->getSmoking()->setDoYouSmoke('yes')->setCompletedDate(new \DateTime()); $drinks = new Drinks(); $drinks->setBeerCiderPintAmount(5)->setWineAmount(3)->setSpiritsAmount(5)->setCompletedDate(new \DateTime()); $this->questionnaire->getDrinking()->setDoYouDrink(Drinking::DOES_DRINK)->setWhichDaysDoYouDrink('mon, tue, wed, thur, fri, sat, sun')->setWeekendDrinks($drinks)->setWeekdayDrinks($drinks)->setCompletedDate(new \DateTime()); $this->questionnaire->getMoving()->setCompletedDate(new \DateTime()); }
/** * @param ParamFetcher $paramFetcher * @param Drinks $drinks * @param int $drinksType * @return Drinks */ protected function createDrinks(ParamFetcher $paramFetcher, Drinks $drinks, $drinksType = Drinks::DRINKS_TYPE_WEEKDAY) { switch ($drinksType) { case Drinks::DRINKS_TYPE_WEEKDAY: $prefix = 'week'; break; case Drinks::DRINKS_TYPE_WEEKEND: $prefix = 'weekend'; break; default: $prefix = 'occasional'; break; } $drinks->setBeerCiderPintAmount($paramFetcher->get("{$prefix}_pint_amount"))->setBeerCiderBottleAmount($paramFetcher->get("{$prefix}_bottle_amount"))->setSpiritsAmount($paramFetcher->get("{$prefix}_spirit_amount"))->setWineAmount($paramFetcher->get("{$prefix}_wine_amount"))->setCompletedDate(new \DateTime()); return $drinks; }
/** * @param Drinks $drinks * @param string $prefix * @return array */ protected static function extractDrinksForExport(Drinks $drinks, $prefix = 'weekday') { return array("{$prefix}DrinksBeerCiderPintAmount" => $drinks->getBeerCiderPintAmount(), "{$prefix}DrinksBeerCiderBottleAmount" => $drinks->getBeerCiderBottleAmount(), "{$prefix}DrinksWineAmount" => $drinks->getWineAmount(), "{$prefix}DrinksSpiritsPintAmount" => $drinks->getSpiritsAmount(), "{$prefix}DrinksCompleted" => $drinks->isCompleted()); }
public function testICanGetAnRedNarrativeAsAMaleDrinker() { $questionnaire = new Questionnaire(new Person()); $questionnaire->getPerson()->setGender('male'); $questionnaire->getAboutYou()->getFeelings()->setEnergy(100)->setWeight(20); $drinks = new Drinks(); $drinks->setBeerCiderPintAmount(80)->setSpiritsAmount(30); $questionnaire->getDrinking()->setDoYouDrink(Drinking::DOES_DRINK)->setWhichDaysDoYouDrink('mon, tues, wed, thurs, fri, sat, sun')->setWeekdayDrinks($drinks)->setWeekendDrinks($drinks)->setCompletedDate(new \DateTime()); $expected = array('drinking' => array('drinking_red_min_weight_gt_5_days_male')); $this->assertEquals($expected, $this->instance->buildNarrative($questionnaire)->getMessages()); }