package kr.debop4j.data.hibernate.tools;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.cfg.ImprovedNamingStrategy;
import org.junit.Assert;
import org.junit.Test;
/**
* kr.debop4j.data.hibernate.tools.OracleNamingStrategyTest
*
* @author 배성혁 ( sunghyouk.bae@gmail.com )
* @since 13. 3. 21 오전 10:06
*/
@Slf4j
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 improvedNamingStrategy = new ImprovedNamingStrategy();
for (int i = 0; i < classNames.length; i++) {
Assert.assertEquals(tableNames[i],
improvedNamingStrategy.classToTableName(classNames[i]));
}
}
@Test
public void improvedNaming_PropertyToColumnName() {
ImprovedNamingStrategy improvedNamingStrategy = new ImprovedNamingStrategy();
for (int i = 0; i < propertyNames.length; i++) {
Assert.assertEquals(columnNames[i],
improvedNamingStrategy.propertyToColumnName(propertyNames[i]));
}
}
@Test
public void oracleNaming_ClassToTableName() {
OracleNamingStrategy oracleNamingStrategy = new OracleNamingStrategy();
for (int i = 0; i < classNames.length; i++) {
Assert.assertEquals(tableNames[i].toUpperCase(),
oracleNamingStrategy.classToTableName(classNames[i]));
}
}
@Test
public void oracleNaming_PropertyToColumnName() {
OracleNamingStrategy oracleNamingStrategy = new OracleNamingStrategy();
for (int i = 0; i < propertyNames.length; i++) {
Assert.assertEquals(columnNames[i].toUpperCase(),
oracleNamingStrategy.propertyToColumnName(propertyNames[i]));
}
}
}