1 package org.apache.torque.engine.database.model; 2 3 18 19 import junit.framework.TestCase; 20 21 import org.apache.torque.engine.database.transform.XmlToAppData; 22 23 29 public class HypersonicDomainTest extends TestCase 30 { 31 32 private XmlToAppData xmlToAppData; 33 private Database db; 34 35 public HypersonicDomainTest(String name) 36 { 37 super(name); 38 } 39 40 protected void setUp() throws Exception 41 { 42 super.setUp(); 43 xmlToAppData = new XmlToAppData("hypersonic", "defaultpackage"); 44 db = xmlToAppData.parseFile( 45 "src/test/org/apache/torque/engine/database/model/domaintest-schema.xml"); 46 } 47 48 protected void tearDown() throws Exception 49 { 50 xmlToAppData = null; 51 super.tearDown(); 52 } 53 54 57 public void testDomainColumn() throws Exception 58 { 59 Table table = db.getTable("product"); 60 Column name = table.getColumn("name"); 61 assertEquals("VARCHAR", name.getDomain().getSqlType()); 62 assertEquals("40", name.getSize()); 63 assertEquals("name VARCHAR(40) ", name.getSqlString()); 64 Column price = table.getColumn("price"); 65 assertEquals("NUMERIC", price.getTorqueType()); 66 assertEquals("NUMERIC", price.getDomain().getSqlType()); 67 assertEquals("10", price.getSize()); 68 assertEquals("2", price.getScale()); 69 assertEquals("0", price.getDefaultValue()); 70 assertEquals("(10,2)", price.printSize()); 71 assertEquals("price NUMERIC(10,2) default 0 ", price.getSqlString()); 72 } 73 74 77 public void testExtendedDomainColumn() throws Exception 78 { 79 Table table = db.getTable("article"); 80 Column price = table.getColumn("price"); 81 assertEquals("NUMERIC", price.getTorqueType()); 82 assertEquals("NUMERIC", price.getDomain().getSqlType()); 83 assertEquals("12", price.getSize()); 84 assertEquals("2", price.getScale()); 85 assertEquals("1000", price.getDefaultValue()); 86 assertEquals("(12,2)", price.printSize()); 87 assertEquals("price NUMERIC(12,2) default 1000 ", price.getSqlString()); 88 } 89 90 public void testDecimalColumn() throws Exception 91 { 92 Table table = db.getTable("article"); 93 Column col = table.getColumn("decimal_col"); 94 assertEquals("DECIMAL", col.getTorqueType()); 95 assertEquals("DECIMAL", col.getDomain().getSqlType()); 96 assertEquals("10", col.getSize()); 97 assertEquals("3", col.getScale()); 98 assertEquals("(10,3)", col.printSize()); 99 assertEquals("decimal_col DECIMAL(10,3) ", col.getSqlString()); 100 } 101 102 public void testDateColumn() throws Exception 103 { 104 Table table = db.getTable("article"); 105 Column col = table.getColumn("date_col"); 106 assertEquals("DATE", col.getTorqueType()); 107 assertEquals("DATE", col.getDomain().getSqlType()); 108 assertEquals("", col.printSize()); 109 assertEquals("date_col DATE ", col.getSqlString()); 110 } 111 112 public void testNativeAutoincrement() throws Exception 113 { 114 Table table = db.getTable("native"); 115 Column col = table.getColumn("native_id"); 116 assertEquals("IDENTITY", col.getAutoIncrementString()); 117 assertEquals("native_id INTEGER NOT NULL IDENTITY", col.getSqlString()); 118 col = table.getColumn("name"); 119 assertEquals("", col.getAutoIncrementString()); 120 } 121 122 public void testIdBrokerAutoincrement() throws Exception 123 { 124 Table table = db.getTable("article"); 125 Column col = table.getColumn("article_id"); 126 assertEquals("", col.getAutoIncrementString()); 127 assertEquals("article_id INTEGER NOT NULL ", col.getSqlString()); 128 col = table.getColumn("name"); 129 assertEquals("", col.getAutoIncrementString()); 130 } 131 132 public void testBooleanint() throws Exception 133 { 134 Table table = db.getTable("types"); 135 Column col = table.getColumn("cbooleanint"); 136 assertEquals("", col.getAutoIncrementString()); 137 assertEquals("BOOLEANINT", col.getTorqueType()); 138 assertEquals("INTEGER", col.getDomain().getSqlType()); 139 assertEquals("cbooleanint INTEGER ", col.getSqlString()); 140 } 141 142 public void testBlob() throws Exception 143 { 144 Table table = db.getTable("types"); 145 Column col = table.getColumn("cblob"); 146 assertEquals("", col.getAutoIncrementString()); 147 assertEquals("BLOB", col.getTorqueType()); 148 assertEquals("BINARY", col.getDomain().getSqlType()); 149 assertEquals("cblob BINARY ", col.getSqlString()); 150 } 151 152 } 153 | Popular Tags |