package org.hibernate.examples.hibernate.config;
import org.hibernate.cfg.ImprovedNamingStrategy;
import org.junit.Test;
import static org.fest.assertions.Assertions.assertThat;
/**
* org.hibernate.examples.hibernate.config.OracleNamingStrategyTest
*
* @author 배성혁 sunghyouk.bae@gmail.com
* @since 2013. 11. 28. 오전 9:44
*/
public class OracleNamingStrategyTest {
private final String[] classNames = new String[] { "User", "UserLog", "GroupMember", "EventLog" };
private final String[] tableNames = new String[] { "user", "user_log", "group_member", "event_log" };
private final String[] propertyNames = new String[] { "username", "email", "companyName", "eventLog" };
private final String[] columnNames = new String[] { "username", "email", "company_name", "event_log" };
@Test
public void improvedNaming_ClassToTableName() {
ImprovedNamingStrategy namingStrategy = new ImprovedNamingStrategy();
for (int i = 0; i < classNames.length; i++) {
String tableName = namingStrategy.classToTableName(classNames[i]);
assertThat(tableName).isEqualTo(tableNames[i]);
}
}
@Test
public void improvedNaming_PropertyToColumnName() {
ImprovedNamingStrategy namingStrategy = new ImprovedNamingStrategy();
for (int i = 0; i < propertyNames.length; i++) {
final String columnName = namingStrategy.propertyToColumnName(propertyNames[i]);
assertThat(columnName).isEqualTo(columnNames[i]);
}
}
@Test
public void oracleNaming_ClassToTableName() {
OracleNamingStrategy namingStrategy = new OracleNamingStrategy();
for (int i = 0; i < classNames.length; i++) {
String tableName = namingStrategy.classToTableName(classNames[i]);
assertThat(tableName).isEqualTo(tableNames[i].toUpperCase());
}
}
@Test
public void oracleNaming_PropertyToColumnName() {
OracleNamingStrategy namingStrategy = new OracleNamingStrategy();
for (int i = 0; i < propertyNames.length; i++) {
final String columnName = namingStrategy.propertyToColumnName(propertyNames[i]);
assertThat(columnName).isEqualTo(columnNames[i].toUpperCase());
}
}
}