/**
  * @test
  * @dataProvider raceToWeight
  *
  * @param string $raceCode
  * @param int $charisma
  */
 public function I_can_get_female_weight_simple_bonus_of_any_race($raceCode, $charisma)
 {
     $table = new FemaleModifiersTable();
     self::assertSame($charisma, $table->getWeightBonus($raceCode));
     // weight modifier has to be same as strength modifier
     self::assertSame($table->getStrength($raceCode), $table->getWeightBonus($raceCode));
 }
 /**
  * @param RaceCode $raceCode
  * @param SubraceCode $subraceCode
  * @param FemaleModifiersTable $femaleModifiersTable
  * @param WeightTable $weightTable
  * @return float
  */
 public function getFemaleWeightInKg($raceCode, $subraceCode, FemaleModifiersTable $femaleModifiersTable, WeightTable $weightTable)
 {
     $maleWeightValue = $this->getMaleWeightInKg($raceCode, $subraceCode);
     $maleWeightBonus = $weightTable->toBonus(new Weight($maleWeightValue, Weight::KG, $weightTable));
     $femaleWeightBonusModifier = $femaleModifiersTable->getWeightBonus($raceCode);
     $femaleWeightBonusValue = $maleWeightBonus->getValue() + $femaleWeightBonusModifier;
     /** @noinspection ExceptionsAnnotatingAndHandlingInspection */
     $femaleWeightBonus = new WeightBonus($femaleWeightBonusValue, $weightTable);
     return $femaleWeightBonus->getWeight()->getValue();
 }