public function testSpecificationIsTrue()
 {
     $questionnaire = new Questionnaire(new Person());
     $questionnaire->getDrinking()->setWhichDaysDoYouDrink('sat, sun');
     $questionnaire->getDrinking()->getWeekendDrinks()->setBeerCiderPintAmount(2);
     $this->assertTrue(DrinkingExceedsThreeUnitsSpecification::isSatisfiedBy($questionnaire));
 }
 /**
  * @inheritDoc
  */
 public static function isSatisfiedBy(Questionnaire $questionnaire)
 {
     return DrinkingDaysLTE2Specification::isSatisfiedBy($questionnaire) && DrinkingExceedsThreeUnitsSpecification::isSatisfiedBy($questionnaire) && DrinkingDoesNotExceed14UnitsAWeekSpecification::isSatisfiedBy($questionnaire) && DrinkingDoesNotExceedDailyLimitsForGenderSpecification::isSatisfiedBy($questionnaire);
 }
 /**
  * @inheritDoc
  */
 public static function isSatisfiedBy(Questionnaire $questionnaire)
 {
     return false === DrinkingNoneSpecification::isSatisfiedBy($questionnaire) && DrinkingDaysLTE2Specification::isSatisfiedBy($questionnaire) && false === DrinkingExceedsThreeUnitsSpecification::isSatisfiedBy($questionnaire);
 }