public function testEmptyConfigurationFromArray()
 {
     $role = Role::createFromConfiguration("ROLE_TEST", []);
     $this->assertNull($role->getTitle());
     $this->assertNull($role->getDescription());
     $this->assertFalse($role->isHidden());
 }
 /**
  * Prepares the role collection by transforming the config array to an object structure
  *
  * @param array[] $roleConfiguration
  *
  * @return Role[]
  */
 private function prepareRoleCollection(array $roleConfiguration)
 {
     /** @var Role[] $preparedRoles */
     $preparedRoles = [];
     foreach ($roleConfiguration as $roleKey => $configuration) {
         $preparedRoles[$roleKey] = Role::createFromConfiguration($roleKey, $configuration);
     }
     foreach ($roleConfiguration as $roleKey => $configuration) {
         if (!isset($configuration["included_roles"]) || !is_array($configuration["included_roles"])) {
             continue;
         }
         $includedRoles = array_map(function ($role) use($preparedRoles) {
             return $preparedRoles[$role];
         }, $configuration["included_roles"]);
         $preparedRoles[$roleKey]->setIncludedRoles($includedRoles);
     }
     return $preparedRoles;
 }