/**
  * @param Questionnaire $questionnaire
  */
 protected function buildRedDrinkingNarrative(Questionnaire $questionnaire)
 {
     switch (true) {
         case DrinkingDaysGTFiveSpecification::isSatisfiedBy($questionnaire):
             $suffix = '_gt_5_days';
             break;
         default:
             $suffix = '_lte_5_days';
             break;
     }
     $this->buildDrinkingBehaviours($questionnaire, RagScore::RAG_RED, $suffix);
 }
 /**
  * @inheritDoc
  */
 public static function isSatisfiedBy(Questionnaire $questionnaire)
 {
     return DrinkingDaysGTFiveSpecification::isSatisfiedBy($questionnaire) && DrinkingUnitsInLowerRiskForGenderSpecification::isSatisfiedBy($questionnaire);
 }
 /**
  * @inheritDoc
  */
 public static function isSatisfiedBy(Questionnaire $questionnaire)
 {
     return DrinkingDaysGTFiveSpecification::isSatisfiedBy($questionnaire) && DrinkingDoesNotExceed14UnitsAWeekSpecification::isSatisfiedBy($questionnaire);
 }
 public function testSpecificationIsFalse()
 {
     $questionnaire = new Questionnaire((new Person())->setGender(Person::GENDER_FEMALE));
     $questionnaire->getDrinking()->setWhichDaysDoYouDrink('mon, tue, wed, thur');
     $this->assertFalse(DrinkingDaysGTFiveSpecification::isSatisfiedBy($questionnaire));
 }