protected function tearDown()
 {
     parent::tearDown();
     foreach ([Fighter::class, Priest::class, Ranger::class, Theurgist::class, Thief::class, Wizard::class] as $professionClass) {
         ProfessionType::removeSubTypeEnum($professionClass);
     }
 }
 /**
  * @test
  */
 public function I_got_registered_subtypes_even_if_profession_is_already_registered()
 {
     if (!Type::hasType($this->getExpectedTypeName())) {
         Type::addType($this->getExpectedTypeName(), $this->getTypeClass());
     }
     self::assertTrue(Type::hasType($this->getExpectedTypeName()));
     ProfessionsEnumRegistrar::registerAll();
     self::assertTrue(ProfessionType::hasSubTypeEnum(Commoner::class));
     self::assertTrue(ProfessionType::hasSubTypeEnum(Fighter::class));
     self::assertTrue(ProfessionType::hasSubTypeEnum(Wizard::class));
     self::assertTrue(ProfessionType::hasSubTypeEnum(Priest::class));
     self::assertTrue(ProfessionType::hasSubTypeEnum(Theurgist::class));
     self::assertTrue(ProfessionType::hasSubTypeEnum(Thief::class));
     self::assertTrue(ProfessionType::hasSubTypeEnum(Ranger::class));
 }