private function I_can_create_skill_point_by_level_charisma_adjustment()
 {
     $combinedSkillPoint = CombinedSkillPoint::createFromNextLevelPropertyIncrease($level = $this->createProfessionNextLevel(Charisma::class, Knack::class), new Tables());
     self::assertInstanceOf(CombinedSkillPoint::class, $combinedSkillPoint);
     self::assertNull($combinedSkillPoint->getBackgroundSkillPoints());
     self::assertNull($combinedSkillPoint->getFirstPaidOtherSkillPoint());
     self::assertNull($combinedSkillPoint->getSecondPaidOtherSkillPoint());
     return [$combinedSkillPoint, $level];
 }
 /**
  * @param ProfessionLevel $professionLevel
  * @return CombinedSkillRank
  * @throws \DrdPlus\Skills\Exceptions\UnknownPaymentForSkillPoint
  * @throws \DrdPlus\Skills\Exceptions\CanNotVerifyOwningSkill
  * @throws \DrdPlus\Skills\Exceptions\CanNotVerifyPaidSkillPoint
  */
 protected function createZeroSkillRank(ProfessionLevel $professionLevel)
 {
     /** @noinspection ExceptionsAnnotatingAndHandlingInspection */
     return new CombinedSkillRank($this, CombinedSkillPoint::createZeroSkillPoint($professionLevel), new PositiveIntegerObject(0));
 }
 private static function createCombinedSkillEntities(Tables $tables, ProfessionFirstLevel $firstLevel)
 {
     $combinedSkillClasses = self::getListOfSkillClasses(CombinedSkill::class);
     $combinedSkillPoint = CombinedSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(3, Heritage::getIt(5)), $tables);
     $requiredRankValue = new PositiveIntegerObject(1);
     $combinedSkillList = array_map(function ($combinedSkillClass) use($firstLevel, $combinedSkillPoint, $requiredRankValue) {
         /** @var CombinedSkill $combinedSkill */
         $combinedSkill = new $combinedSkillClass($firstLevel);
         $combinedSkill->addSkillRank($combinedSkillPoint);
         return $combinedSkill;
     }, $combinedSkillClasses);
     $combinedSkills = new CombinedSkills();
     foreach ($combinedSkillList as $combinedSkill) {
         $combinedSkills->addCombinedSkill($combinedSkill);
     }
     $combinedSkillPoint = CombinedSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(3, Heritage::getIt(5)), $tables);
     $combinedSkillRank = new CombinedSkillRank(new Cooking($firstLevel), CombinedSkillPoint::createFromFirstLevelBackgroundSkillPoints($firstLevel, BackgroundSkillPoints::getIt(4, Heritage::getIt(5)), $tables), new PositiveIntegerObject(1));
     return array_merge($combinedSkillList, [$combinedSkills, $combinedSkillPoint, $combinedSkillRank]);
 }