public function testGetSetDoYouDrink() { $expected = Drinking::DOES_DRINK; $this->assertEmpty($this->instance->getDoYouDrink()); $this->assertInstanceOf(Drinking::class, $this->instance->setDoYouDrink($expected)); $this->assertEquals($expected, $this->instance->getDoYouDrink()); }
/** * @param Drinking $drinking * @return int */ public function calculateUnits(Drinking $drinking) { $units = 0; switch (true) { case $drinking->getDoYouDrink() === Drinking::DOES_DRINK: $units = $this->calculateWeeklyDrinkingUnits($drinking); break; case $drinking->getDoYouDrink() === Drinking::DRINK_TWO_TO_FOUR_TIMES_A_MONTH: case $drinking->getDoYouDrink() === Drinking::DRINK_MONTHLY_OR_LESS: $units = $this->calculateOccasionalDrinkingUnits($drinking); break; } return (int) $units; }
/** * @param Drinking $drinking * @return array */ public static function extractDrinking(Drinking $drinking) { return array_merge(array("drinkingDoYouDrink" => $drinking->getDoYouDrink(), "drinkingFrequency" => $drinking->getWhichDaysDoYouDrink()), self::extractDrinksForExport($drinking->getWeekdayDrinks()), self::extractDrinksForExport($drinking->getWeekendDrinks(), 'weekend'), self::extractDrinksForExport($drinking->getOccasionalDrinks(), 'occasional'), array("hasBinged" => $drinking->getBingingFrequency(), "drinkingCompleted" => $drinking->isCompleted(), "drinkingRag" => $drinking->getRagScore()['rag'])); }