/** * @param string $entityClass * @param EntityAlias $entityAlias * * @return bool TRUE if no duplicates detected; otherwise FALSE in not debugging environment * or RuntimeException in debugging environment * * @throws RuntimeException if duplicate alias is found */ protected function validateDuplicates($entityClass, EntityAlias $entityAlias) { if (isset($this->aliasToClass[$entityAlias->getAlias()])) { if ($this->debug) { throw new RuntimeException(sprintf('The alias "%s" cannot be used for the entity "%s" ' . 'because it is already used for the entity "%s". ' . $this->getDuplicateAliasHelpMessage(), $entityAlias->getAlias(), $entityClass, $this->aliasToClass[$entityAlias->getAlias()])); } return false; } if (isset($this->pluralAliasToClass[$entityAlias->getPluralAlias()])) { if ($this->debug) { throw new RuntimeException(sprintf('The plural alias "%s" cannot be used for the entity "%s" ' . 'because it is already used for the entity "%s". ' . $this->getDuplicateAliasHelpMessage(), $entityAlias->getPluralAlias(), $entityClass, $this->pluralAliasToClass[$entityAlias->getPluralAlias()])); } return false; } if (isset($this->pluralAliasToClass[$entityAlias->getAlias()])) { if ($this->debug) { throw new RuntimeException(sprintf('The alias "%s" cannot be used for the entity "%s" ' . 'because it is already used as a plural alias for the entity "%s". ' . $this->getDuplicateAliasHelpMessage(), $entityAlias->getAlias(), $entityClass, $this->pluralAliasToClass[$entityAlias->getAlias()])); } return false; } if (isset($this->aliasToClass[$entityAlias->getPluralAlias()])) { if ($this->debug) { throw new RuntimeException(sprintf('The plural alias "%s" cannot be used for the entity "%s" ' . 'because it is already used as an alias for the entity "%s". ' . $this->getDuplicateAliasHelpMessage(), $entityAlias->getPluralAlias(), $entityClass, $this->aliasToClass[$entityAlias->getPluralAlias()])); } return false; } return true; }
public function testSuccessCreationAndGetters() { $entityAlias = new EntityAlias('alias', 'plural_alias'); $this->assertEquals('alias', $entityAlias->getAlias()); $this->assertEquals('plural_alias', $entityAlias->getPluralAlias()); }