private function createFortuneProperty(ProfessionLevel $professionLevel, ExceptionalityFate $fate, Integer1To6 $roll, $propertyCode, BasePropertiesFactory $basePropertiesFactory) { if ($professionLevel->isPrimaryProperty($propertyCode)) { $value = $fate->getPrimaryPropertyBonusOnFortune($roll); } else { $value = $fate->getSecondaryPropertyBonusOnFortune($roll); } return $basePropertiesFactory->createProperty($value, $propertyCode); }
/** * @param ExceptionalityFate $fate * * @test * @depends I_can_create_it_by_self * @expectedException \DrdPlus\Exceptionalities\Fates\Exceptions\UnexpectedRoll */ public function I_can_not_use_unexpected_roll_for_primary_property_on_fortune(ExceptionalityFate $fate) { $roll = $this->mockery(Integer1To6::class); $roll->shouldReceive('getValue')->andReturn(7); /** @var Integer1To6 $roll */ $fate->getPrimaryPropertyBonusOnFortune($roll); }