package nebula.data.db;
import junit.framework.TestCase;
import nebula.lang.RawTypes;
import nebula.lang.RawTypes;
public class RealDBTypeDefineBuilderTest extends TestCase {
RealDBTypeDefineBuilder b;
protected void setUp() throws Exception {
b = new RealDBTypeDefineBuilder();
}
protected void tearDown() throws Exception {
b = null;
}
public final void testBuildRawTypes() {
b.register(RawTypes.Boolean, "smallint");// .BIGINT
b.register(RawTypes.Long, "bigint");// .BIGINT
b.register(RawTypes.Date, "date");
b.register(RawTypes.Time, "time");
b.register(RawTypes.Datetime, "timestamp");
b.register(RawTypes.Timestamp, "timestamp");
assertEquals("smallint", b.build(RawTypes.Boolean));
assertEquals("bigint", b.build(RawTypes.Long));
assertEquals("date", b.build(RawTypes.Date));
assertEquals("time", b.build(RawTypes.Time));
assertEquals("timestamp", b.build(RawTypes.Datetime));
assertEquals("timestamp", b.build(RawTypes.Timestamp));
}
public final void testBuildRawTypesLongIntInt() {
b.register(RawTypes.Decimal, "numeric($p,$s)");
b.register(RawTypes.String, "varchar($l)");
b.register(RawTypes.Text, "varchar($l)");
assertEquals("numeric(10,2)", b.buildName(RawTypes.Decimal, 1, 10, 2));
assertEquals("varchar(100)", b.buildName(RawTypes.String, 100, 0, 0));
assertEquals("varchar(1000)", b.buildName(RawTypes.Text, 1000, 0, 0));
}
// public final void testRegisterRawTypesLongString() {
// b.register(RawTypes.String, 100,"char");
// b.register(RawTypes.String,4000,"varchar($l)");
// b.register(RawTypes.String,"blob($l)");
//
// assertEquals("char", b.build(RawTypes.String, 100, 0, 0));
// assertEquals("varchar(1000)", b.build(RawTypes.String, 1000, 0, 0));
// assertEquals("varchar(4000)", b.build(RawTypes.String, 4000, 0, 0));
// assertEquals("blob(5000)", b.build(RawTypes.String, 5000, 0, 0));
// }
//
public final void testRegisterRawTypesLongString_null() {
b.register(RawTypes.String,"blob($l)");
assertEquals("blob(100)", b.buildName(RawTypes.String, 100, 0, 0));
assertEquals("blob(1000)", b.buildName(RawTypes.String, 1000, 0, 0));
assertEquals("blob(4000)", b.buildName(RawTypes.String, 4000, 0, 0));
assertEquals("blob(5000)", b.buildName(RawTypes.String, 5000, 0, 0));
}
public final void testRegisterRawTypesString() {
b.register(RawTypes.Boolean, "smallint");// .BIGINT
b.register(RawTypes.Long, "bigint");// .BIGINT
b.register(RawTypes.Decimal, "numeric($p,$s)");
b.register(RawTypes.String, "varchar($l)");
b.register(RawTypes.Text, "varchar($l)");
b.register(RawTypes.Date, "date");
b.register(RawTypes.Time, "time");
b.register(RawTypes.Datetime, "timestamp");
b.register(RawTypes.Timestamp, "timestamp");
}
}