/**
  * @param $strengthRoll
  * @param $agilityRoll
  * @param $knackRoll
  * @param $willRoll
  * @param $intelligenceRoll
  * @param $charismaRoll
  *
  * @test
  * @dataProvider getChosenProperties
  */
 public function I_can_get_fortune_properties_tested_as_secondary($strengthRoll, $agilityRoll, $knackRoll, $willRoll, $intelligenceRoll, $charismaRoll)
 {
     $factory = new ExceptionalityPropertiesFactory();
     $chosenProperties = $factory->createFortuneProperties($this->createFortuneFateForSecondaryPropertiesOnly($testMultiplier = 456), $this->createProfessionLevel([]), $strengthRoll, $agilityRoll, $knackRoll, $willRoll, $intelligenceRoll, $charismaRoll, new BasePropertiesFactory());
     self::assertSame($strengthRoll * $testMultiplier, $chosenProperties->getStrength()->getValue());
     self::assertSame($strengthRoll, $chosenProperties->getStrengthRoll());
     self::assertSame($agilityRoll * $testMultiplier, $chosenProperties->getAgility()->getValue());
     self::assertSame($agilityRoll, $chosenProperties->getAgilityRoll());
     self::assertSame($knackRoll * $testMultiplier, $chosenProperties->getKnack()->getValue());
     self::assertSame($knackRoll, $chosenProperties->getKnackRoll());
     self::assertSame($willRoll * $testMultiplier, $chosenProperties->getWill()->getValue());
     self::assertSame($willRoll, $chosenProperties->getWillRoll());
     self::assertSame($intelligenceRoll * $testMultiplier, $chosenProperties->getIntelligence()->getValue());
     self::assertSame($intelligenceRoll, $chosenProperties->getIntelligenceRoll());
     self::assertSame($charismaRoll * $testMultiplier, $chosenProperties->getCharisma()->getValue());
     self::assertSame($charismaRoll, $chosenProperties->getCharismaRoll());
 }
 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);
 }