private function I_can_create_skill_point_by_level_by_intelligence_adjustment()
 {
     $psychicalSkillPoint = PsychicalSkillPoint::createFromNextLevelPropertyIncrease($level = $this->createProfessionNextLevel(Will::class, Intelligence::class), new Tables());
     self::assertInstanceOf(PsychicalSkillPoint::class, $psychicalSkillPoint);
     self::assertNull($psychicalSkillPoint->getBackgroundSkillPoints());
     self::assertNull($psychicalSkillPoint->getFirstPaidOtherSkillPoint());
     self::assertNull($psychicalSkillPoint->getSecondPaidOtherSkillPoint());
     return [$psychicalSkillPoint, $level];
 }
 /**
  * @param ProfessionLevel $professionLevel
  * @return PsychicalSkillRank
  * @throws \DrdPlus\Skills\Exceptions\UnknownPaymentForSkillPoint
  * @throws \DrdPlus\Skills\Exceptions\CanNotVerifyOwningSkill
  * @throws \DrdPlus\Skills\Exceptions\CanNotVerifyPaidSkillPoint
  */
 protected function createZeroSkillRank(ProfessionLevel $professionLevel)
 {
     /** @noinspection ExceptionsAnnotatingAndHandlingInspection */
     return new PsychicalSkillRank($this, PsychicalSkillPoint::createZeroSkillPoint($professionLevel), new PositiveIntegerObject(0));
 }
 private static function createPsychicalSkillEntities(Tables $tables, ProfessionFirstLevel $firstLevel)
 {
     $psychicalSkillClasses = self::getListOfSkillClasses(PsychicalSkill::class);
     $psychicalSkillPoint = PsychicalSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(3, Heritage::getIt(5)), $tables);
     $requiredRankValue = new PositiveIntegerObject(1);
     $psychicalSkillList = array_map(function ($psychicalSkillClass) use($firstLevel, $psychicalSkillPoint, $requiredRankValue) {
         /** @var PsychicalSkill $psychicalSkill */
         $psychicalSkill = new $psychicalSkillClass($firstLevel);
         $psychicalSkill->addSkillRank($psychicalSkillPoint);
         return $psychicalSkill;
     }, $psychicalSkillClasses);
     $psychicalSkills = new PsychicalSkills();
     foreach ($psychicalSkillList as $psychicalSkill) {
         $psychicalSkills->addPsychicalSkill($psychicalSkill);
     }
     $psychicalSkillPoint = PsychicalSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(4, Heritage::getIt(3)), $tables);
     $psychicalSkillRank = new PsychicalSkillRank(new Technology($firstLevel), PsychicalSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(4, Heritage::getIt(5)), $tables), new PositiveIntegerObject(1));
     return array_merge($psychicalSkillList, [$psychicalSkills, $psychicalSkillPoint, $psychicalSkillRank]);
 }