/**
  * Final level, achieved by sparing current experiences from total zero
  *
  * @return Level
  */
 public function getTotalLevel()
 {
     return $this->experiencesTable->toTotalLevel($this);
 }
 /**
  * @test
  */
 public function I_can_create_first_level_from_max_experiences_for_it_but_get_zero_back()
 {
     $experiencesTable = new ExperiencesTable(new WoundsTable());
     $experiencesForFirstLevel = new Experiences($experiencesValue = 21, $experiencesTable);
     $levelOfMainProfession = $experiencesTable->toTotalLevel($experiencesForFirstLevel);
     self::assertSame(1, $levelOfMainProfession->getValue());
     self::assertSame(0, $levelOfMainProfession->getExperiences()->getValue());
     self::assertSame(0, $levelOfMainProfession->getTotalExperiences()->getValue());
     $minimalExperiencesForSecondLevel = new Experiences($experiencesValue + 2, $experiencesTable);
     $shouldBeSecondLevel = $minimalExperiencesForSecondLevel->getLevel();
     self::assertSame(2, $shouldBeSecondLevel->getValue());
     self::assertSame($experiencesValue + 1, $shouldBeSecondLevel->getExperiences()->getValue());
     self::assertSame($experiencesValue + 1, $shouldBeSecondLevel->getTotalExperiences()->getValue());
 }