/**
  * @test
  * @expectedException \DrdPlus\Person\Background\Exceptions\SpentTooMuchBackgroundPoints
  */
 public function I_can_not_spent_more_than_available_points_in_total()
 {
     $fate = FateOfGoodRear::getIt();
     $backgroundPoints = BackgroundPoints::getIt($fate);
     $pointsForHeritage = 6;
     $pointsForBackgroundSkillPoints = 5;
     $pointsForBelongings = 6;
     self::assertGreaterThan($backgroundPoints->getValue(), $pointsForHeritage + $pointsForBackgroundSkillPoints + $pointsForBelongings);
     Background::createIt(FateOfGoodRear::getIt(), $pointsForHeritage, $pointsForBackgroundSkillPoints, $pointsForBelongings);
 }
 /**
  * @return FateOfGoodRear
  */
 public function getFateOfGoodRear()
 {
     return FateOfGoodRear::getIt();
 }
 public static function createEntities()
 {
     $factory = new ExceptionalityPropertiesFactory();
     return [new Exceptionality(PlayerDecision::getIt(), $fate = FateOfGoodRear::getIt(), $factory->createChosenProperties($fate, ProfessionFirstLevel::createFirstLevel(Fighter::getIt()), 0, 1, 1, 0, 0, 1)), $factory->createChosenProperties(FateOfCombination::getIt(), ProfessionFirstLevel::createFirstLevel(Wizard::getIt()), 1, 1, 1, 1, 1, 1), $factory->createFortuneProperties(FateOfExceptionalProperties::getIt(), ProfessionFirstLevel::createFirstLevel(Thief::getIt()), 1, 3, 6, 5, 4, 2, new BasePropertiesFactory())];
 }
 private function createPersonEntity(Tables $tables, ExceptionalityPropertiesFactory $exceptionalityPropertiesFactory)
 {
     return new Person(CommonHuman::getIt(), Male::getIt(), Name::getIt('foo'), new Exceptionality(PlayerDecision::getIt(), $fate = FateOfGoodRear::getIt(), $exceptionalityPropertiesFactory->createChosenProperties($fate, $professionFirstLevel = ProfessionFirstLevel::createFirstLevel(Fighter::getIt()), 0, 1, 1, 0, 1, 0)), new Memories(), $professionLevels = new ProfessionLevels(ProfessionZeroLevel::createZeroLevel(Commoner::getIt()), $professionFirstLevel), $background = Background::createIt($fate, 4, 3, 5), Skills::createSkills($professionLevels, $background->getBackgroundSkillPoints(), new PhysicalSkills(ProfessionZeroLevel::createZeroLevel(Commoner::getIt())), new PsychicalSkills(ProfessionZeroLevel::createZeroLevel(Commoner::getIt())), new CombinedSkills(ProfessionZeroLevel::createZeroLevel(Commoner::getIt())), $tables), WeightInKg::getIt(123.45), HeightInCm::getIt(78.89), Age::getIt(56), $tables);
 }
 public function provideFateTypeAndBackgroundPoints()
 {
     return [[FateOfExceptionalProperties::getIt(), 5], [FateOfCombination::getIt(), 10], [FateOfGoodRear::getIt(), 15]];
 }