/**
  * @inheritDoc
  */
 public function buildNarrative(Questionnaire $questionnaire)
 {
     if (DrinkingRagIsRedSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildRedDrinkingNarrative($questionnaire);
     } elseif (DrinkingRagIsAmberSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildAmberDrinkingNarrative($questionnaire);
     } else {
         $this->buildGreenDrinkingNarrative($questionnaire);
     }
     return $this->narrative;
 }
 /**
  * @param Questionnaire $questionnaire
  */
 protected function buildDrinkingBehaviours(Questionnaire $questionnaire)
 {
     if (DrinkingRagIsRedSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildRedDrinkingBehaviours($questionnaire);
     } elseif (DrinkingRagIsAmberSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildAmberDrinkingBehaviours($questionnaire);
     } else {
         $this->buildGreenDrinkingBehaviours($questionnaire);
     }
 }