/**
  * @param Questionnaire $questionnaire
  */
 protected function buildAmberDrinkingBehaviours(Questionnaire $questionnaire)
 {
     switch (true) {
         case DrinkingExceeds14UnitsAnd5DaysSpecification::isSatisfiedBy($questionnaire):
             $prefix = '_gt_14_units_gte_6_days';
             break;
         case DrinkingExceeds14UnitsAndDoesNotExceed5DaysSpecification::isSatisfiedBy($questionnaire):
             $prefix = '_gt_14_units_lte_5_days';
             break;
         case DrinkingExceeds5DaysButNot14UnitsSpecification::isSatisfiedBy($questionnaire):
             $prefix = '_lte_14_units_gte_6_days';
             break;
         case DrinkingDoesNotExceed14UnitsAWeekButHasBingedSpecification::isSatisfiedBy($questionnaire):
             $prefix = '_lte_14_units_has_binge';
             break;
         default:
             $prefix = '_gte_3_units_lte_2_days';
             break;
     }
     if (RespondentIsMaleSpecification::isSatisfiedBy($questionnaire)) {
         $suffix = '_' . Person::GENDER_MALE;
     } else {
         $suffix = '_' . Person::GENDER_FEMALE;
     }
     $this->narrative->addMessages(self::SECTION_NAME, array(DrinkingNarrativeBuilder::SECTION_NAME => 'behaviours_drinking_amber' . $prefix . $suffix));
 }
 /**
  * @param Questionnaire $questionnaire
  * @return bool
  */
 protected function isAmberDueToDayExceedsRiskUnits(Questionnaire $questionnaire)
 {
     return DrinkingSpec\DrinkingExceeds14UnitsAndDoesNotExceed5DaysSpecification::isSatisfiedBy($questionnaire);
 }
 /**
  * @param Questionnaire $questionnaire
  */
 protected function buildAmberDrinkingNarrative(Questionnaire $questionnaire)
 {
     switch (true) {
         case DrinkingExceeds14UnitsAnd5DaysSpecification::isSatisfiedBy($questionnaire):
             $suffix = '_gt_14_units_gte_6_days';
             break;
         case DrinkingExceeds14UnitsAndDoesNotExceed5DaysSpecification::isSatisfiedBy($questionnaire):
             $suffix = '_gt_14_units_lte_5_days';
             break;
         case DrinkingExceeds5DaysButNot14UnitsSpecification::isSatisfiedBy($questionnaire):
             $suffix = '_lte_14_units_gte_6_days';
             break;
         case DrinkingDoesNotExceed14UnitsAWeekButHasBingedSpecification::isSatisfiedBy($questionnaire):
             $suffix = '_lte_14_units_has_binge';
             break;
         default:
             $suffix = '_gte_3_units_lte_2_days';
             break;
     }
     $this->buildDrinkingBehaviours($questionnaire, RagScore::RAG_AMBER, $suffix);
 }