/** * @test */ public function I_got_everything_empty_or_zeroed_from_empty_new_levels() { $professionLevels = new ProfessionLevels($zeroLevel = $this->createZeroLevel(), $firstLevel = $this->createFirstLevel(Fighter::FIGHTER)); self::assertSame(0, $professionLevels->getNextLevelsStrengthModifier()); self::assertSame(0, $professionLevels->getNextLevelsPropertyModifier(Strength::STRENGTH)); self::assertSame(0, $professionLevels->getNextLevelsAgilityModifier()); self::assertSame(0, $professionLevels->getNextLevelsPropertyModifier(Agility::AGILITY)); self::assertSame(0, $professionLevels->getNextLevelsKnackModifier()); self::assertSame(0, $professionLevels->getNextLevelsPropertyModifier(Knack::KNACK)); self::assertSame(0, $professionLevels->getNextLevelsWillModifier()); self::assertSame(0, $professionLevels->getNextLevelsPropertyModifier(Will::WILL)); self::assertSame(0, $professionLevels->getNextLevelsIntelligenceModifier()); self::assertSame(0, $professionLevels->getNextLevelsPropertyModifier(Intelligence::INTELLIGENCE)); self::assertSame(0, $professionLevels->getNextLevelsCharismaModifier()); self::assertSame(0, $professionLevels->getNextLevelsPropertyModifier(Charisma::CHARISMA)); self::assertCount(0, $professionLevels->getProfessionNextLevels()); self::assertEquals([$zeroLevel, $firstLevel], $professionLevels->getSortedProfessionLevels()); $levelsFromIteration = []; foreach ($professionLevels as $professionLevel) { $levelsFromIteration[] = $professionLevel; } self::assertEquals($levelsFromIteration, $professionLevels->getSortedProfessionLevels()); self::assertNull($professionLevels->getId()); }