/**
  * @test
  */
 public function I_can_get_unused_skill_points_from_next_levels()
 {
     $skills = new CombinedSkills();
     $professionLevels = $this->createProfessionLevels($firstLevelKnack = 123, $firstLevelCharisma = 456, $nextLevelsKnack = 321, $nextLevelsCharisma = 654);
     self::assertSame($nextLevelsKnack + $nextLevelsCharisma, $skills->getUnusedNextLevelsCombinedSkillPointsValue($professionLevels));
     $skills->addCombinedSkill($this->createCombinedSkill($rankFromFirstLevel = 2, 1, FirstAid::class));
     self::assertSame($nextLevelsKnack + $nextLevelsCharisma, $skills->getUnusedNextLevelsCombinedSkillPointsValue($professionLevels));
     $skills->addCombinedSkill($this->createCombinedSkill($aRankFromNextLevel = 3, 2, Gambling::class));
     $skills->addCombinedSkill($this->createCombinedSkill($anotherRankFromNextLevel = 1, 3, Seduction::class));
     self::assertSame($nextLevelsKnack + $nextLevelsCharisma - (array_sum(range(1, $aRankFromNextLevel)) + array_sum(range(1, $anotherRankFromNextLevel))), $skills->getUnusedNextLevelsCombinedSkillPointsValue($professionLevels), 'Expected ' . ($nextLevelsKnack + $nextLevelsCharisma - (array_sum(range(1, $aRankFromNextLevel)) + array_sum(range(1, $anotherRankFromNextLevel)))));
 }