assertEquals($expected, $strategy->classToTableName($className)); } /** * Data Provider for NamingStrategy#propertyToColumnName * * @return array */ static public function dataPropertyToColumnName() { return array( // DefaultNamingStrategy array(self::defaultNaming(), 'someProperty', 'someProperty' ), array(self::defaultNaming(), 'SOME_PROPERTY', 'SOME_PROPERTY' ), array(self::defaultNaming(), 'some_property', 'some_property' ), // UnderscoreNamingStrategy array(self::underscoreNamingLower(), 'some_property', 'someProperty' ), array(self::underscoreNamingUpper(), 'SOME_PROPERTY', 'someProperty' ), array(self::underscoreNamingUpper(), 'SOME_PROPERTY', 'some_property' ), array(self::underscoreNamingUpper(), 'SOME_PROPERTY', 'SOME_PROPERTY' ), ); } /** * @dataProvider dataPropertyToColumnName * * @param NamingStrategy $strategy * @param string $expected * @param string $propertyName */ public function testPropertyToColumnName(NamingStrategy $strategy, $expected, $propertyName) { $this->assertEquals($expected, $strategy->propertyToColumnName($propertyName)); } /** * Data Provider for NamingStrategy#referenceColumnName * * @return array */ static public function dataReferenceColumnName() { return array( // DefaultNamingStrategy array(self::defaultNaming(), 'id'), // UnderscoreNamingStrategy array(self::underscoreNamingLower(), 'id'), array(self::underscoreNamingUpper(), 'ID'), ); } /** * @dataProvider dataReferenceColumnName * * @param NamingStrategy $strategy * @param string $expected */ public function testReferenceColumnName(NamingStrategy $strategy, $expected) { $this->assertEquals($expected, $strategy->referenceColumnName()); } /** * Data Provider for NamingStrategy#joinColumnName * * @return array */ static public function dataJoinColumnName() { return array( // DefaultNamingStrategy array(self::defaultNaming(), 'someColumn_id', 'someColumn', null, ), array(self::defaultNaming(), 'some_column_id', 'some_column', null, ), // UnderscoreNamingStrategy array(self::underscoreNamingLower(), 'some_column_id', 'someColumn', null, ), array(self::underscoreNamingUpper(), 'SOME_COLUMN_ID', 'someColumn', null, ), ); } /** * @dataProvider dataJoinColumnName * * @param NamingStrategy $strategy * @param string $expected * @param string $propertyName */ public function testJoinColumnName(NamingStrategy $strategy, $expected, $propertyName) { $this->assertEquals($expected, $strategy->joinColumnName($propertyName)); } /** * Data Provider for NamingStrategy#joinTableName * * @return array */ static public function dataJoinTableName() { return array( // DefaultNamingStrategy array(self::defaultNaming(), 'someclassname_classname', 'SomeClassName', 'Some\ClassName', null, ), array(self::defaultNaming(), 'someclassname_classname', '\SomeClassName', 'ClassName', null, ), array(self::defaultNaming(), 'name_classname', '\Some\Class\Name', 'ClassName', null, ), // UnderscoreNamingStrategy array(self::underscoreNamingLower(), 'some_class_name_class_name', 'SomeClassName', 'Some\ClassName', null, ), array(self::underscoreNamingLower(), 'some_class_name_class_name', '\SomeClassName', 'ClassName', null, ), array(self::underscoreNamingLower(), 'name_class_name', '\Some\Class\Name', 'ClassName', null, ), array(self::underscoreNamingUpper(), 'SOME_CLASS_NAME_CLASS_NAME', 'SomeClassName', 'Some\ClassName', null, ), array(self::underscoreNamingUpper(), 'SOME_CLASS_NAME_CLASS_NAME', '\SomeClassName', 'ClassName', null, ), array(self::underscoreNamingUpper(), 'NAME_CLASS_NAME', '\Some\Class\Name', 'ClassName', null, ), ); } /** * @dataProvider dataJoinTableName * * @param NamingStrategy $strategy * @param string $expected * @param string $ownerEntity * @param string $associatedEntity * @param string $propertyName */ public function testJoinTableName(NamingStrategy $strategy, $expected, $ownerEntity, $associatedEntity, $propertyName = null) { $this->assertEquals($expected, $strategy->joinTableName($ownerEntity, $associatedEntity, $propertyName)); } /** * Data Provider for NamingStrategy#joinKeyColumnName * * @return array */ static public function dataJoinKeyColumnName() { return array( // DefaultNamingStrategy array(self::defaultNaming(), 'someclassname_id', 'SomeClassName', null, null, ), array(self::defaultNaming(), 'name_identifier', '\Some\Class\Name', 'identifier', null, ), // UnderscoreNamingStrategy array(self::underscoreNamingLower(), 'some_class_name_id', 'SomeClassName', null, null, ), array(self::underscoreNamingLower(), 'class_name_identifier', '\Some\Class\ClassName', 'identifier', null, ), array(self::underscoreNamingUpper(), 'SOME_CLASS_NAME_ID', 'SomeClassName', null, null, ), array(self::underscoreNamingUpper(), 'CLASS_NAME_IDENTIFIER', '\Some\Class\ClassName', 'IDENTIFIER', null, ), ); } /** * @dataProvider dataJoinKeyColumnName * * @param NamingStrategy $strategy * @param string $expected * @param string $propertyEntityName * @param string $referencedColumnName * @param string $propertyName */ public function testJoinKeyColumnName(NamingStrategy $strategy, $expected, $propertyEntityName, $referencedColumnName = null, $propertyName = null) { $this->assertEquals($expected, $strategy->joinKeyColumnName($propertyEntityName, $referencedColumnName, $propertyName)); } }