/** * @param Questionnaire $questionnaire */ protected function buildDrinkingNarrative(Questionnaire $questionnaire) { if (DrinkingSpecification::isSatisfiedBy($questionnaire)) { $dnb = new DrinkingNarrativeBuilder(); $narrative = $dnb->buildNarrative($questionnaire); $this->narrative->merge($narrative); } }
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()); }