/**
  * @param ExceptionalityFate $exceptionalityFate ,
  * @param int $forHeritageSpentBackgroundPoints ,
  * @param int $forBackgroundSkillPointsSpentBackgroundPoints
  * @param int $forBelongingsSpentBackgroundPoints
  * @return Background
  */
 public static function createIt(ExceptionalityFate $exceptionalityFate, $forHeritageSpentBackgroundPoints, $forBackgroundSkillPointsSpentBackgroundPoints, $forBelongingsSpentBackgroundPoints)
 {
     $backgroundPoints = BackgroundPoints::getIt($exceptionalityFate);
     $heritage = Heritage::getIt($forHeritageSpentBackgroundPoints);
     $backgroundSkillPoints = BackgroundSkillPoints::getIt($forBackgroundSkillPointsSpentBackgroundPoints, $heritage);
     $belongingsValue = BelongingsValue::getIt($forBelongingsSpentBackgroundPoints, $heritage);
     return new static($backgroundPoints, $heritage, $backgroundSkillPoints, $belongingsValue);
 }
 /**
  * @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);
 }
 /**
  * @test
  * @expectedException \DrdPlus\Person\Background\Exceptions\UnknownFate
  */
 public function I_can_not_use_unknown_fate()
 {
     BackgroundPoints::getIt(UnknownFate::getIt());
 }