/* * Copyright 2004-2015 the Seasar Foundation and the Others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package org.seasar.extension.jdbc.gen.internal.model; import java.math.BigDecimal; import java.math.BigInteger; import java.sql.Time; import java.sql.Timestamp; import java.util.Calendar; import java.util.Date; import org.junit.Before; import org.junit.Test; import org.seasar.extension.jdbc.EntityMeta; import org.seasar.extension.jdbc.gen.model.EntityTestModel; import static org.junit.Assert.*; /** * @author taedium * */ public class EntityTestModelFactoryImplTest { private EntityTestModelFactoryImpl factory; /** * * @throws Exception */ @Before public void setUp() throws Exception { factory = new EntityTestModelFactoryImpl("s2jdbc.dicon", "jdbcManager", "Test", new NamesModelFactoryImpl("hoge.entity", "Names"), true, false); } /** * * @throws Exception */ @Test public void testGetEntityTestModel() throws Exception { EntityMeta entityMeta = new EntityMeta(); entityMeta.setName("Foo"); entityMeta.setEntityClass(getClass()); EntityTestModel entityTestModel = factory .getEntityTestModel(entityMeta); assertEquals("s2jdbc.dicon", entityTestModel.getConfigPath()); assertEquals("jdbcManager", entityTestModel.getJdbcManagerName()); assertEquals("org.seasar.extension.jdbc.gen.internal.model", entityTestModel.getPackageName()); assertEquals("FooTest", entityTestModel.getShortClassName()); assertEquals("Foo", entityTestModel.getShortEntityClassName()); assertEquals(3, entityTestModel.getImportNameSet().size()); } /** * */ @Test public void testGetIdExpression_Boolean() { assertEquals("true", factory.getExpression(Boolean.class)); } /** * */ @Test public void testGetIdExpression_Character() { assertEquals("'a'", factory.getExpression(Character.class)); } /** * */ @Test public void testGetIdExpression_Byte() { assertEquals("(byte) 1", factory.getExpression(Byte.class)); } /** * */ @Test public void testGetIdExpression_Short() { assertEquals("(short) 1", factory.getExpression(Short.class)); } /** * */ @Test public void testGetIdExpression_Integer() { assertEquals("1", factory.getExpression(Integer.class)); } /** * */ @Test public void testGetIdExpression_Long() { assertEquals("1L", factory.getExpression(Long.class)); } /** * */ @Test public void testGetIdExpression_Float() { assertEquals("1f", factory.getExpression(Float.class)); } /** * */ @Test public void testGetIdExpression_Double() { assertEquals("1d", factory.getExpression(Double.class)); } /** * */ @Test public void testGetIdExpression_BigDecimal() { assertEquals("BigDecimal.ONE", factory.getExpression(BigDecimal.class)); } /** * */ @Test public void testGetIdExpression_BigInteger() { assertEquals("BigInteger.ONE", factory.getExpression(BigInteger.class)); } /** * */ @Test public void testGetIdExpression_String() { assertEquals("\"aaa\"", factory.getExpression(String.class)); } /** * */ @Test public void testGetIdExpression_Date() { assertEquals("new Date()", factory.getExpression(Date.class)); } /** * */ @Test public void testGetIdExpression_Calender() { assertEquals("Calendar.getInstance()", factory.getExpression(Calendar.class)); } /** * */ @Test public void testGetIdExpression_sqlDate() { assertEquals("Date.valueOf(\"2008-01-01\")", factory.getExpression(java.sql.Date.class)); } /** * */ @Test public void testGetIdExpression_Time() { assertEquals("Time.valueOf(\"12:00:00\")", factory.getExpression(Time.class)); } /** * */ @Test public void testGetIdExpression_Timestamp() { assertEquals("Timestamp.valueOf(\"2008-01-01 12:00:00\")", factory.getExpression(Timestamp.class)); } /** * */ @Test public void testGetIdExpression_bytes() { assertEquals("new byte[0]", factory.getExpression(byte[].class)); } }