public function testSpecificationIsFalseAndIAmMale() { $questionnaire = new Questionnaire((new Person())->setGender(Person::GENDER_MALE)); $drinks = (new Drinks())->setBeerCiderPintAmount(3); $questionnaire->getDrinking()->setDoYouDrink(Drinking::DOES_DRINK)->setWhichDaysDoYouDrink('mon, tue, wed')->setWeekdayDrinks($drinks); $this->assertFalse(DrinkingUnitsInLowerRiskForGenderSpecification::isSatisfiedBy($questionnaire)); }
/** * @inheritDoc */ public static function isSatisfiedBy(Questionnaire $questionnaire) { return DrinkingDaysGTFiveSpecification::isSatisfiedBy($questionnaire) && DrinkingUnitsInLowerRiskForGenderSpecification::isSatisfiedBy($questionnaire); }
/** * @inheritDoc */ public static function isSatisfiedBy(Questionnaire $questionnaire) { return DrinkingDaysGTE3AndLTE5Specification::isSatisfiedBy($questionnaire) && DrinkingUnitsInLowerRiskForGenderSpecification::isSatisfiedBy($questionnaire) && DrinkingExceedsDailyLimitsForGenderSpecification::isSatisfiedBy($questionnaire); }
/** * @param Questionnaire $questionnaire * @return bool */ protected function ragIsAmber(Questionnaire $questionnaire) { switch (true) { case $this->isAmberDueToDaysGTE5AndLowerRiskGender($questionnaire): case DrinkingSpec\DrinkingDoesNotExceed14UnitsAWeekButHasBingedSpecification::isSatisfiedBy($questionnaire): case $this->isAmberDueToDayExceedsRiskUnits($questionnaire): case $this->isAmberDueToMoreThanThreeUnitsAndTwoOrFewerDays($questionnaire): case DrinkingSpec\DrinkingExceeds5DaysButNot14UnitsSpecification::isSatisfiedBy($questionnaire): case DrinkingSpec\DrinkingUnitsInLowerRiskForGenderSpecification::isSatisfiedBy($questionnaire): return true; default: return false; } }