/** * @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(); }