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']));
 }