private function checkPaidFirstLevelSkillPoint(SkillPoint $paidSkillPoint) { if (!$paidSkillPoint->isPaidByFirstLevelBackgroundSkillPoints()) { $message = 'Skill point to-pay-with has to origin from first level background skills.'; if ($paidSkillPoint->isPaidByNextLevelPropertyIncrease()) { $message .= ' Next level skill point is not allowed to trade.'; } if ($paidSkillPoint->isPaidByOtherSkillPoints()) { $message .= ' There is no sense to trade first level skill point multiple times.'; } throw new Exceptions\ProhibitedOriginOfPaidBySkillPoint($message); } if ($paidSkillPoint->getTypeName() === $this->getTypeName()) { throw new Exceptions\NonSensePaymentBySameType("There is no sense to pay for skill point by another one of the very same type ({$this->getTypeName()})." . ' Got paid skill point from level ' . $paidSkillPoint->getProfessionLevel()->getLevelRank() . ' of profession ' . $paidSkillPoint->getProfessionLevel()->getProfession()->getValue() . '.'); } }
protected function I_can_get_profession_level(SkillPoint $skillPoint, ProfessionLevel $expectedLevel) { self::assertSame($expectedLevel, $skillPoint->getProfessionLevel()); }