001: /*
002: * Copyright 2006 Le Duc Bao, Ralf Joachim
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005: * use this file except in compliance with the License. You may obtain a copy of
006: * the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013: * License for the specific language governing permissions and limitations under
014: * the License.
015: */
016: package org.castor.ddlgen.engine.mssql;
017:
018: import junit.framework.Test;
019: import junit.framework.TestSuite;
020:
021: import org.castor.ddlgen.DDLGenConfiguration;
022: import org.castor.ddlgen.KeyGeneratorRegistry;
023: import org.castor.ddlgen.test.framework.AbstractGeneratorTest;
024: import org.castor.ddlgen.test.framework.Expected;
025:
026: /**
027: * Mssql generator test.
028: *
029: * @author <a href="mailto:leducbao AT gmail DOT com">Le Duc Bao</a>
030: * @author <a href="mailto:ralf DOT joachim AT syscon DOT eu">Ralf Joachim</a>
031: * @version $Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
032: * @since 1.1
033: */
034: public final class MssqlGeneratorTest extends AbstractGeneratorTest {
035: public MssqlGeneratorTest(final String testcase) {
036: super (testcase);
037: }
038:
039: public MssqlGeneratorTest(final String testcase,
040: final boolean useDBlEngine) {
041: super (testcase);
042:
043: if (useDBlEngine) {
044: setEngine(Expected.ENGINE_MSSQL);
045: }
046: }
047:
048: public static Test suite() throws Exception {
049: TestSuite suite = new TestSuite(
050: "All org.castor.ddlgen.engine.mssql tests");
051:
052: //schema test
053: suite.addTest(new MssqlGeneratorTest("testCreateSchema", true));
054:
055: // drop test
056: suite.addTest(new MssqlGeneratorTest("testDropTable", false));
057:
058: // table test
059: suite.addTest(new MssqlGeneratorTest("testSingleTable", false));
060: suite
061: .addTest(new MssqlGeneratorTest("testMultipleTable",
062: false));
063: suite
064: .addTest(new MssqlGeneratorTest("testIgnoredTable",
065: false));
066: suite.addTest(new MssqlGeneratorTest("testNoTable", false));
067:
068: //field test
069: suite.addTest(new MssqlGeneratorTest("testSingleField", false));
070: suite.addTest(new MssqlGeneratorTest("testSingleFieldForAll",
071: true));
072: suite
073: .addTest(new MssqlGeneratorTest("testIgnoredField",
074: false));
075: suite.addTest(new MssqlGeneratorTest("testNoField", false));
076: suite.addTest(new MssqlGeneratorTest("testManyKeysReference",
077: false));
078: suite.addTest(new MssqlGeneratorTest(
079: "testManyClassKeysReference", false));
080: suite.addTest(new MssqlGeneratorTest("test2LevelsReference",
081: false));
082:
083: // primary key test
084: suite.addTest(new MssqlGeneratorTest("testClassId", true));
085: suite.addTest(new MssqlGeneratorTest("testClassMultipleId",
086: true));
087: suite.addTest(new MssqlGeneratorTest("testFieldId", true));
088: suite.addTest(new MssqlGeneratorTest("testFieldMultipleId",
089: true));
090: suite.addTest(new MssqlGeneratorTest("testOverwriteFieldId",
091: false));
092: suite.addTest(new MssqlGeneratorTest("testNoId", false));
093:
094: // foreign key test
095: suite.addTest(new MssqlGeneratorTest("testOneOneRelationship",
096: false));
097: suite.addTest(new MssqlGeneratorTest("testOneManyRelationship",
098: false));
099: suite.addTest(new MssqlGeneratorTest(
100: "testManyManyRelationship", false));
101:
102: // index test
103: suite.addTest(new MssqlGeneratorTest("testCreateIndex", false));
104:
105: // key generator test
106: suite
107: .addTest(new MssqlGeneratorTest("testKeyGenIdentity",
108: true));
109: suite
110: .addTest(new MssqlGeneratorTest("testKeyGenHighLow",
111: false));
112: suite.addTest(new MssqlGeneratorTest("testKeyGenMax", false));
113: suite.addTest(new MssqlGeneratorTest("testKeyGenUUID", false));
114:
115: return suite;
116: }
117:
118: /**
119: * {@inheritDoc}
120: */
121: protected void setUp() throws Exception {
122: super .setUp();
123:
124: DDLGenConfiguration conf = new DDLGenConfiguration();
125: conf
126: .addProperties("org/castor/ddlgen/test/config/ddlgen.properties");
127: conf
128: .addProperties("org/castor/ddlgen/test/config/mssql.properties");
129: setGenerator(new MssqlGenerator(conf));
130:
131: KeyGeneratorRegistry keyGenRegistry = new KeyGeneratorRegistry(
132: conf);
133: getGenerator().setKeyGenRegistry(keyGenRegistry);
134:
135: getGenerator().initialize();
136: }
137:
138: /**
139: * {@inheritDoc}
140: */
141: protected void tearDown() throws Exception {
142: super.tearDown();
143:
144: setGenerator(null);
145: }
146: }
|