/**
  * @test
  */
 public function I_can_create_any_profession_fom_generic_by_code()
 {
     foreach (ProfessionCode::getPossibleValues() as $professionCode) {
         $profession = Profession::getItByCode(ProfessionCode::getIt($professionCode));
         $namespace = str_replace('Tests\\', '', __NAMESPACE__);
         $classBaseName = ucfirst($professionCode);
         self::assertInstanceOf($namespace . '\\' . $classBaseName, $profession);
     }
 }
 /**
  * @return array
  */
 protected function getExpectedDataHeaderNamesToTypes()
 {
     $professionsWithSkillTypes = [];
     foreach (ProfessionCode::getPossibleValues() as $professionCode) {
         foreach (SkillTypeCode::getPossibleValues() as $skillTypeCode) {
             $professionsWithSkillTypes["{$professionCode} {$skillTypeCode}"] = self::INTEGER;
         }
     }
     return $professionsWithSkillTypes;
 }
 public function provideSkillPointToProfession()
 {
     $combinations = [];
     $rowIndex = 0;
     for ($backgroundSkillPoint = 0; $backgroundSkillPoint <= 8; $backgroundSkillPoint++) {
         $columnIndex = 0;
         foreach (ProfessionCode::getPossibleValues() as $professionCode) {
             foreach (SkillTypeCode::getPossibleValues() as $skillTypeCode) {
                 $combinations[] = [$backgroundSkillPoint, $professionCode, $skillTypeCode, $this->getExpectedSkillPoints($rowIndex, $columnIndex)];
                 $columnIndex++;
             }
         }
         $rowIndex++;
     }
     return $combinations;
 }