Package cn.org.rapid_framework.generator.provider.db.model

Source Code of cn.org.rapid_framework.generator.provider.db.model.ColumnTest

package cn.org.rapid_framework.generator.provider.db.model;

import java.lang.reflect.InvocationTargetException;
import java.sql.Types;

import junit.framework.TestCase;
import cn.org.rapid_framework.generator.GeneratorProperties;
import cn.org.rapid_framework.generator.provider.db.table.model.Column;
import cn.org.rapid_framework.generator.provider.db.table.model.Table;
import cn.org.rapid_framework.generator.provider.db.table.model.ForeignKey.ReferenceKey;



public class ColumnTest  extends TestCase{
  public void setUp() {
    GeneratorProperties.reload();
  }
 
  public void testColumn() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
//    Column c = new Column(new Table(),1,"int","user_name",1,2,true,true,true,true,"","remarks");
//    System.out.println(BeanHelper.describe(c));
  }
  public void testGetJavaType() {
    GeneratorProperties.setProperty("java_typemapping.java.lang.String", "testJavaStringType");
    Column c = new Column(new Table(),1,"int","user_name",1,2,true,true,true,true,"","remarks");
    assertEquals("testJavaStringType",c.getJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "Long");
    assertEquals("Long",newBigDecimal().getJavaType());
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "testJavaLongType");
    assertEquals("testJavaLongType",newBigDecimal().getJavaType());
  }
  private Column newBigDecimal() {
    return new Column(new Table(),Types.NUMERIC,"int","user_name",1,2,true,true,true,true,"","remarks");
  }
 
  public void test_GetSimpleJavaType() {
    Column c = new Column(new Table(),1,"int","user_name",1,2,true,true,true,true,"","remarks");
    assertEquals("java.lang.String",c.getJavaType());
    assertEquals("String",c.getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "Long");
    assertEquals("Long",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "testJavaLongType");
    assertEquals("testJavaLongType",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "int");
    assertEquals("int",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "Integer");
    assertEquals("Integer",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "abc.badqiu.testJavaLongType");
    assertEquals("testJavaLongType",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "org.badqiu.UserInfo");
    assertEquals("UserInfo",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "badboy");
    assertEquals("badboy",newBigDecimal().getSimpleJavaType());
   
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "java.math.BigDecimal");
    assertEquals("BigDecimal",newBigDecimal().getSimpleJavaType());
  }
 
  public void test_getWrappedJavaType() {
    GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "Long");
    Column c = new Column(new Table(),1,"int","user_name",1,2,true,true,true,true,"","remarks");
    assertEquals("long",newBigDecimal().getPrimitiveJavaType());
    assertEquals("Long",newBigDecimal().getWrappedJavaType());
  }
 
  public void test_getShortJavaType() {
        Column c = new Column(new Table(), 1, "int", "user_name", 1, 2, true,
            true, true, true, "", "remarks");
        assertEquals("String", c.getPossibleShortJavaType());

        GeneratorProperties.setProperty(
            "java_typemapping.java.math.BigDecimal", "org.badqiu.UserInfo");
        assertEquals("UserInfo", newBigDecimal().getSimpleJavaType());
        assertEquals("org.badqiu.UserInfo", newBigDecimal().getPossibleShortJavaType());
    }
 
  public void test_setForeignKey() {
    ReferenceKey ref = ReferenceKey.fromString("role(role_id)");
    assertEquals(ref.columnSqlName,"role_id");
    assertEquals(ref.tableName,"role");
    assertEquals(ref.schemaName,null);
   
    ref = ReferenceKey.fromString("security.role(role_id)");
    assertEquals(ref.columnSqlName,"role_id");
    assertEquals(ref.tableName,"role");
    assertEquals(ref.schemaName,"security");
   
    assertNull(ReferenceKey.fromString("   "));
    assertNull(ReferenceKey.fromString(null));
    assertNull(ReferenceKey.fromString(""));
   
    try {
    assertNull(ReferenceKey.fromString("role"));
    fail();
    }catch(IllegalArgumentException e){
     
    }
  }
 
  public void test_getJSR303Validation() {
    Column nullColumn = new Column(new Table(),Types.TINYINT,"int","email",1,2,false,true,false,false,"","remarks");
    System.out.println(nullColumn.getHibernateValidatorExprssion());
    assertEquals("@Email  @Max(127)",nullColumn.getHibernateValidatorExprssion());
   
    Column num = new Column(new Table(),Types.TINYINT,"int","email",1,2,false,false,false,false,"","remarks");
    System.out.println(num.getHibernateValidatorExprssion());
    assertEquals("@NotNull @Email  @Max(127)",num.getHibernateValidatorExprssion());
   
    Column str = new Column(new Table(),Types.VARCHAR,"int","email",1,2,false,false,false,false,"","remarks");
    System.out.println(str.getHibernateValidatorExprssion());
    assertEquals("@NotBlank @Email @Length(max=1)",str.getHibernateValidatorExprssion());
  }
 
  public void test_getNullValue() {
      GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "Long");
      assertEquals("Long",newBigDecimal().getSimpleJavaType());
        assertEquals("null",newBigDecimal().getNullValue());
        assertEquals(false,newBigDecimal().isHasNullValue());
       
      Column num = newBigDecimal();
      GeneratorProperties.setProperty("java_typemapping.java.math.BigDecimal", "int");
        assertEquals("int",newBigDecimal().getSimpleJavaType());
        assertEquals("0",newBigDecimal().getNullValue());
        assertEquals(true,newBigDecimal().isHasNullValue());
        System.out.println(newBigDecimal().getJavaType());
      System.out.println(newBigDecimal().getNullValue());
      System.out.println(newBigDecimal().isHasNullValue());
  }
}
TOP

Related Classes of cn.org.rapid_framework.generator.provider.db.model.ColumnTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.