protected function I_can_create_skill_point_by_first_level_background_skills() { $combinedSkillPoint = CombinedSkillPoint::createFromFirstLevelBackgroundSkillPoints($level = $this->createProfessionFirstLevel(Fighter::FIGHTER), $backgroundSkillPoints = $this->createBackgroundSkills(123, 'getCombinedSkillPoints'), new Tables()); self::assertInstanceOf(CombinedSkillPoint::class, $combinedSkillPoint); self::assertSame(1, $combinedSkillPoint->getValue()); self::assertSame('combined', $combinedSkillPoint->getTypeName()); self::assertSame([Knack::KNACK, Charisma::CHARISMA], $combinedSkillPoint->getRelatedProperties()); self::assertSame($backgroundSkillPoints, $combinedSkillPoint->getBackgroundSkillPoints()); self::assertNull($combinedSkillPoint->getFirstPaidOtherSkillPoint()); self::assertNull($combinedSkillPoint->getSecondPaidOtherSkillPoint()); return [$combinedSkillPoint, $level]; }
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]); }