public function testGetSetSpiritsAmount() { $expected = PHP_INT_MAX; $this->assertEmpty($this->instance->getSpiritsAmount()); $this->assertInstanceOf(Drinks::class, $this->instance->setSpiritsAmount($expected)); $this->assertEquals($expected, $this->instance->getSpiritsAmount()); }
public function testCalculationOfUnits() { $expected = 5 * DrinkingScore::DRINK_UNITS_WINE * 5 + 5 * DrinkingScore::DRINK_UNITS_SPIRIT * 2; $expected += 2 * DrinkingScore::DRINK_UNITS_PINT * 4; $person = new Person(); $person->setGender(Person::GENDER_FEMALE); $questionnaire = new Questionnaire($person); $drinking = $questionnaire->getDrinking(); $drinking->setWhichDaysDoYouDrink('mon, tues, wed, thurs, fri, sat, sun'); $drinking->setDoYouDrink(Drinking::DOES_DRINK); $wDrinks = new Drinks(); $wDrinks->setWineAmount(5); $wDrinks->setSpiritsAmount(2); $weDrinks = new Drinks(); $weDrinks->setBeerCiderPintAmount(4); $drinking->setWeekdayDrinks($wDrinks)->setWeekendDrinks($weDrinks); $this->assertEquals((int) $expected, $this->instance->calculateUnits($drinking)); }
public function testICanGetAnAmberNarrativeAsADailyDrinkerAndIDoNotExceed14Units() { $questionnaire = new Questionnaire(new Person()); $questionnaire->getPerson()->setGender('male'); $questionnaire->getAboutYou()->getFeelings()->setEnergy(100)->setWeight(21); $drinks = new Drinks(); $drinks->setSpiritsAmount(1); $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_amber_low_weight_lte_14_units_gte_6_days_male')); $this->assertEquals($expected, $this->instance->buildNarrative($questionnaire)->getMessages()); }