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

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

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

import java.lang.reflect.InvocationTargetException;
import java.util.Map;

import junit.framework.TestCase;
import cn.org.rapid_framework.generator.GeneratorConstants;
import cn.org.rapid_framework.generator.GeneratorProperties;
import cn.org.rapid_framework.generator.GeneratorTestCase;
import cn.org.rapid_framework.generator.provider.db.table.TableFactory;
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.util.BeanHelper;



public class TableTest extends TestCase{
 
  public void testTable() throws Exception {
    new GeneratorTestCase().runSqlScripts();
   
    Table t = TableFactory.getInstance().getTable("USER_INFO");
    t.getColumnByName("username").setHasOne("user_info(username)");
    //Table t2 = ObjectHelper.deepClone(t);
    print(t);
   
    System.out.println("\n\n column: \n");
    print(t.getColumns().iterator().next());
    printForTableConfig(t.getColumns().iterator().next());
  }

  private void print(Object o) throws IllegalAccessException,
      InvocationTargetException, NoSuchMethodException {
    Map map = BeanHelper.describe(o);
    System.out.println("|| *属性* || *描述* || *示例值* ||");
    for(Object key : map.keySet()) {
      System.out.println(String.format("||*%s*|| ||%s||",key,map.get(key)));
    }
  }
 
  private void printForTableConfig(Column o) throws IllegalAccessException,InvocationTargetException, NoSuchMethodException {
    Map map = BeanHelper.describe(o);
    System.out.println("|| *属性* || *描述* || *示例值* ||");
    for(Object key : map.keySet()) {
      if(map.get(key) instanceof Boolean) {
        System.out.println(String.format("<%s>${c.%s?string}</%s>",key,key,map.get(key)));
      }else {
        System.out.println(String.format("<%s>${c.%s!}</%s>",key,key,map.get(key)));
      }
    }
  }
 
  public void test_remove_table_prefix() {
    GeneratorProperties.setProperty(GeneratorConstants.TABLE_REMOVE_PREFIXES, "t_,v_");
    Table table = new Table();
    table.setSqlName("t_user_info");
    assertEquals("UserInfo",table.getClassName());
   
    table.setSqlName("v_user");
    assertEquals("User",table.getClassName());
   
    table.setSqlName("diy_user");
    assertEquals("DiyUser",table.getClassName());
  }

   public void test_alipay_dalgen_rule() {
        GeneratorProperties.setProperty(GeneratorConstants.TABLE_NAME_SINGULARIZE, "true");
        Table table = new Table();
        table.setSqlName("bashes");
//        assertEquals("dalgen是这种规则","Bashe",table.getClassName()); //TODO dalgen是这种规则
   }
  
  public void test_TABLE_NAME_SINGULARIZE() {
        GeneratorProperties.setProperty(GeneratorConstants.TABLE_NAME_SINGULARIZE, "true");
        Table table = new Table();
        table.setSqlName("bashes");
        assertEquals("Bash",table.getClassName());
       
        table.setSqlName("cuStomeRs");
        assertEquals("CuStomeR",table.getClassName());
       
        GeneratorProperties.setProperty(GeneratorConstants.TABLE_REMOVE_PREFIXES, "t_,v_");
        table.setSqlName("t_user_infos");
        assertEquals("UserInfo",table.getClassName());
       
        GeneratorProperties.setProperty(GeneratorConstants.TABLE_NAME_SINGULARIZE, "false");
        table.setSqlName("bashes");
        assertEquals("Bashes",table.getClassName());
       
        table.setSqlName("cuStomeRs");
        assertEquals("CuStomeRs",table.getClassName());
       
        GeneratorProperties.setProperty(GeneratorConstants.TABLE_REMOVE_PREFIXES, "t_,v_");
        table.setSqlName("t_user_infos");
        assertEquals("UserInfos",table.getClassName());
       
      
    }
 
}
TOP

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

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.