### Question:
OriginalNamingStrategy extends AbstractNamingStrategy { @Override public String getPropertyName(String columnName, EntityType entityType) { return normalizeJavaName(columnName); }  @Override String getClassName(String tableName); @Override String getDefaultAlias(EntityType entityType); @Override String getDefaultVariableName(EntityType entityType); @Override String getPropertyName(String columnName, EntityType entityType); @Override String getPropertyNameForForeignKey(String foreignKeyName, EntityType entityType); @Override String getPropertyNameForInverseForeignKey(String foreignKeyName, EntityType entityType); @Override String getPropertyNameForPrimaryKey(String primaryKeyName, EntityType model);  }### Answer:
@Test public void getPropertyName() { assertEquals("while_col", namingStrategy.getPropertyName("while", entityModel)); assertEquals("name", namingStrategy.getPropertyName("name", entityModel)); assertEquals("user_id", namingStrategy.getPropertyName("user_id", entityModel)); assertEquals("accountEvent_id", namingStrategy.getPropertyName("accountEvent_id", entityModel)); assertEquals("_123abc", namingStrategy.getPropertyName("123abc", entityModel)); assertEquals("_123_abc", namingStrategy.getPropertyName("123 abc", entityModel)); assertEquals("_123_abc_def", namingStrategy.getPropertyName("#123#abc#def", entityModel)); assertEquals("new_line", namingStrategy.getPropertyName("new line", entityModel)); }
@Test public void getPropertyName_with_dashes() { assertEquals("A_FOOBAR", namingStrategy.getPropertyName("A-FOOBAR" , entityModel)); assertEquals("A_FOOBAR", namingStrategy.getPropertyName("A_FOOBAR" , entityModel)); }