You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2006/05/04 00:42:59 UTC
svn commit: r399474 [2/2] - in /db/ddlutils/trunk/src:
java/org/apache/ddlutils/model/ test/org/apache/ddlutils/
test/org/apache/ddlutils/alteration/ test/org/apache/ddlutils/io/
Modified: db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAlteration.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAlteration.java?rev=399474&r1=399473&r2=399474&view=diff
==============================================================================
--- db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAlteration.java (original)
+++ db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAlteration.java Wed May 3 15:42:57 2006
@@ -17,6 +17,7 @@
*/
import java.sql.Types;
+import java.util.List;
import junit.framework.Test;
@@ -38,298 +39,6 @@
*/
public class TestAlteration extends RoundtripTestBase
{
- /** Test model for the first datatype change test. */
- protected static final String TEST_DATATYPE_MODEL_1 =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER' required='false'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the second datatype change test. */
- protected static final String TEST_DATATYPE_MODEL_2 =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='SMALLINT' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the change of the null constraint. */
- protected static final String TEST_CHANGE_NULL_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the addition of a default value. */
- protected static final String TEST_ADD_DEFAULT_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='DOUBLE'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the change of a default value. */
- protected static final String TEST_CHANGE_DEFAULT_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER' default='1'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the dropping of a default value. */
- protected static final String TEST_DROP_DEFAULT_MODEL_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='20' default='test'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the making a column auto-increment. */
- protected static final String TEST_MAKE_AUTO_INCREMENT_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the dropping the auto-increment status of a column. */
- protected static final String TEST_DROP_AUTO_INCREMENT_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER' autoIncrement='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding a column. */
- protected static final String TEST_ADD_COLUMN_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the dropping a column. */
- protected static final String TEST_DROP_COLUMN_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='50'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the making a column part of the pk. */
- protected static final String TEST_ADD_COLUMN_TO_PK_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='50' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the removing a column from the pk. */
- protected static final String TEST_REMOVE_COLUMN_FROM_PK_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='50' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the adding a pk column. */
- protected static final String TEST_ADD_PK_COLUMN_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for the dropping a pk column. */
- protected static final String TEST_DROP_PK_COLUMN_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='50' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding an index. */
- protected static final String TEST_ADD_INDEX_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='VARCHAR' size='50'/>\n"+
- " <column name='avalue2' type='INTEGER' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding an unique index. */
- protected static final String TEST_ADD_UNIQUE_INDEX_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for removing an unique index. */
- protected static final String TEST_DROP_UNIQUE_INDEX_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='DOUBLE'/>\n"+
- " <column name='avalue2' type='VARCHAR' size='50'/>\n"+
- " <unique name='test_index'>\n"+
- " <unique-column name='avalue2'/>\n"+
- " <unique-column name='avalue1'/>\n"+
- " </unique>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding a column to an index. */
- protected static final String TEST_ADD_COLUMN_TO_INDEX_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='DOUBLE'/>\n"+
- " <column name='avalue2' type='VARCHAR' size='40'/>\n"+
- " <index name='test_index'>\n"+
- " <index-column name='avalue1'/>\n"+
- " </index>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for dropping a column from an unique index. */
- protected static final String TEST_REMOVE_COLUMN_FROM_UNIQUE_INDEX_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='DOUBLE'/>\n"+
- " <column name='avalue2' type='INTEGER'/>\n"+
- " <unique name='test_index'>\n"+
- " <unique-column name='avalue1'/>\n"+
- " <unique-column name='avalue2'/>\n"+
- " </unique>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding a foreign key. */
- protected static final String TEST_ADD_FK_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- " <table name='roundtrip2'>\n"+
- " <column name='pk' type='VARCHAR' size='32' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='INTEGER' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for dropping a foreign key. */
- protected static final String TEST_DROP_FK_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk1' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='pk2' type='DOUBLE' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- " <table name='roundtrip2'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='DOUBLE' required='true'/>\n"+
- " <column name='avalue2' type='INTEGER' required='true'/>\n"+
- " <foreign-key foreignTable='roundtrip1'>\n"+
- " <reference local='avalue2' foreign='pk1'/>\n"+
- " <reference local='avalue1' foreign='pk2'/>\n"+
- " </foreign-key>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding a reference to a foreign key. */
- protected static final String TEST_ADD_REFERENCE_TO_FK_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk1' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- " <table name='roundtrip2'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='INTEGER' required='true'/>\n"+
- " <foreign-key foreignTable='roundtrip1'>\n"+
- " <reference local='avalue1' foreign='pk1'/>\n"+
- " </foreign-key>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for dropping a reference from a foreign key. */
- protected static final String TEST_REMOVE_REFERENCE_FROM_FK_MODEL =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk1' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='pk2' type='VARCHAR' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- " <table name='roundtrip2'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue1' type='VARCHAR' required='true'/>\n"+
- " <column name='avalue2' type='INTEGER' required='true'/>\n"+
- " <foreign-key foreignTable='roundtrip1'>\n"+
- " <reference local='avalue2' foreign='pk1'/>\n"+
- " <reference local='avalue1' foreign='pk2'/>\n"+
- " </foreign-key>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding a table. */
- protected static final String TEST_ADD_TABLE_MODEL_1 =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for adding a table. */
- protected static final String TEST_ADD_TABLE_MODEL_2 =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='32' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for removing a table. */
- protected static final String TEST_REMOVE_TABLE_1 =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- " <table name='roundtrip2'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='DOUBLE' required='true'/>\n"+
- " </table>\n"+
- "</database>";
- /** Test model for removing a table. */
- protected static final String TEST_REMOVE_TABLE_2 =
- "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
- "<database name='roundtriptest'>\n"+
- " <table name='roundtrip1'>\n"+
- " <column name='pk' type='VARCHAR' size='20' primaryKey='true' required='true'/>\n"+
- " </table>\n"+
- " <table name='roundtrip2'>\n"+
- " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
- " <column name='avalue' type='VARCHAR' size='20' required='true'/>\n"+
- " <foreign-key foreignTable='roundtrip1'>\n"+
- " <reference local='avalue' foreign='pk'/>\n"+
- " </foreign-key>\n"+
- " </table>\n"+
- "</database>";
-
/**
* Parameterized test case pattern.
*
@@ -345,7 +54,18 @@
*/
public void testChangeDatatype1()
{
- Database model = createDatabase(TEST_DATATYPE_MODEL_1);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER' required='false'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Integer(2) });
model.getTable(0).getColumn(1).setTypeCode(Types.DOUBLE);
@@ -355,6 +75,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Double(2.0), beans.get(0), "avalue");
}
/**
@@ -362,7 +86,18 @@
*/
public void testChangeDatatype2()
{
- Database model = createDatabase(TEST_DATATYPE_MODEL_2);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='SMALLINT' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Short((short)2) });
model.getTable(0).getColumn(1).setTypeCode(Types.VARCHAR);
model.getTable(0).getColumn(1).setSize("20");
@@ -373,6 +108,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals((Object)"2", beans.get(0), "avalue");
}
/**
@@ -380,7 +119,18 @@
*/
public void testChangeNull()
{
- Database model = createDatabase(TEST_CHANGE_NULL_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Integer(2) });
model.getTable(0).getColumn(1).setRequired(false);
@@ -390,6 +140,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(2), beans.get(0), "avalue");
}
/**
@@ -397,7 +151,18 @@
*/
public void testAddDefault()
{
- Database model = createDatabase(TEST_ADD_DEFAULT_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='DOUBLE'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Double(2.0) });
model.getTable(0).getColumn(1).setDefaultValue("1.0");
@@ -407,6 +172,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Double(2.0), beans.get(0), "avalue");
}
/**
@@ -414,7 +183,18 @@
*/
public void testChangeDefault()
{
- Database model = createDatabase(TEST_CHANGE_DEFAULT_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER' default='1'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Integer(2) });
model.getTable(0).getColumn(1).setDefaultValue("20");
@@ -424,6 +204,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(2), beans.get(0), "avalue");
}
/**
@@ -431,7 +215,18 @@
*/
public void testDropDefault()
{
- Database model = createDatabase(TEST_DROP_DEFAULT_MODEL_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='20' default='test'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1) });
model.getTable(0).getColumn(1).setDefaultValue(null);
@@ -441,6 +236,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals((Object)"test", beans.get(0), "avalue");
}
/**
@@ -448,7 +247,18 @@
*/
public void testMakeAutoIncrement()
{
- Database model = createDatabase(TEST_MAKE_AUTO_INCREMENT_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Integer(2) });
model.getTable(0).getColumn(1).setAutoIncrement(true);
@@ -458,6 +268,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(2), beans.get(0), "avalue");
}
/**
@@ -465,7 +279,18 @@
*/
public void testDropAutoIncrement()
{
- Database model = createDatabase(TEST_DROP_AUTO_INCREMENT_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER' autoIncrement='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1) });
model.getTable(0).getColumn(1).setAutoIncrement(false);
@@ -475,6 +300,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(1), beans.get(0), "avalue");
}
/**
@@ -482,7 +311,17 @@
*/
public void testAddColumn()
{
- Database model = createDatabase(TEST_ADD_COLUMN_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1) });
Column newColumn = new Column();
@@ -498,6 +337,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(2), beans.get(0), "avalue");
}
/**
@@ -505,7 +348,18 @@
*/
public void testDropColumn()
{
- Database model = createDatabase(TEST_DROP_COLUMN_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='50'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), "test" });
model.getTable(0).removeColumn(1);
@@ -515,6 +369,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(1), beans.get(0), "pk");
}
/**
@@ -522,7 +380,18 @@
*/
public void testAddColumnToPK()
{
- Database model = createDatabase(TEST_ADD_COLUMN_TO_PK_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='50' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), "test" });
model.getTable(0).getColumn(1).setPrimaryKey(true);
@@ -532,6 +401,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals((Object)"test", beans.get(0), "avalue");
}
/**
@@ -539,7 +412,18 @@
*/
public void testRemoveColumnFromPK()
{
- Database model = createDatabase(TEST_REMOVE_COLUMN_FROM_PK_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='50' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), "test" });
model.getTable(0).getColumn(1).setPrimaryKey(false);
@@ -549,6 +433,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals((Object)"test", beans.get(0), "avalue");
}
/**
@@ -556,7 +444,17 @@
*/
public void testAddPKColumn()
{
- Database model = createDatabase(TEST_ADD_PK_COLUMN_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1) });
Column newColumn = new Column();
@@ -564,6 +462,7 @@
newColumn.setTypeCode(Types.INTEGER);
newColumn.setPrimaryKey(true);
newColumn.setRequired(true);
+ newColumn.setDefaultValue("0");
model.getTable(0).addColumn(newColumn);
alterDatabase(model);
@@ -572,14 +471,29 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(0), beans.get(0), "avalue");
}
/**
- * Tests the dropping a pk column.
+ * Tests the dropping of a pk column.
*/
public void testDropPKColumn()
{
- Database model = createDatabase(TEST_DROP_PK_COLUMN_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='50' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), "test" });
model.getTable(0).removeColumn(1);
@@ -589,6 +503,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(1), beans.get(0), "pk");
}
/**
@@ -596,7 +514,19 @@
*/
public void testAddIndex()
{
- Database model = createDatabase(TEST_ADD_INDEX_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='VARCHAR' size='50'/>\n"+
+ " <column name='avalue2' type='INTEGER' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), null, new Integer(2) });
Index newIndex = new NonUniqueIndex();
@@ -612,6 +542,11 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals((Object)null, beans.get(0), "avalue1");
+ assertEquals(new Integer(2), beans.get(0), "avalue2");
}
/**
@@ -619,7 +554,18 @@
*/
public void testAddUniqueIndex()
{
- Database model = createDatabase(TEST_ADD_UNIQUE_INDEX_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Integer(2) });
Index newIndex = new UniqueIndex();
@@ -634,6 +580,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Integer(2), beans.get(0), "avalue");
}
/**
@@ -641,7 +591,23 @@
*/
public void testDropUniqueIndex()
{
- Database model = createDatabase(TEST_DROP_UNIQUE_INDEX_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='DOUBLE'/>\n"+
+ " <column name='avalue2' type='VARCHAR' size='50'/>\n"+
+ " <unique name='test_index'>\n"+
+ " <unique-column name='avalue2'/>\n"+
+ " <unique-column name='avalue1'/>\n"+
+ " </unique>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Double(2.0), "test" });
model.getTable(0).removeIndex(0);
@@ -651,6 +617,11 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Double(2.0), beans.get(0), "avalue1");
+ assertEquals((Object)"test", beans.get(0), "avalue2");
}
/**
@@ -658,7 +629,22 @@
*/
public void testAddColumnToIndex()
{
- Database model = createDatabase(TEST_ADD_COLUMN_TO_INDEX_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='DOUBLE'/>\n"+
+ " <column name='avalue2' type='VARCHAR' size='40'/>\n"+
+ " <index name='test_index'>\n"+
+ " <index-column name='avalue1'/>\n"+
+ " </index>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Double(2.0), "test" });
model.getTable(0).getIndex(0).addColumn(new IndexColumn(model.getTable(0).getColumn(2).getName()));
@@ -668,6 +654,11 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Double(2.0), beans.get(0), "avalue1");
+ assertEquals((Object)"test", beans.get(0), "avalue2");
}
/**
@@ -675,7 +666,23 @@
*/
public void testRemoveColumnFromUniqueIndex()
{
- Database model = createDatabase(TEST_REMOVE_COLUMN_FROM_UNIQUE_INDEX_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='DOUBLE'/>\n"+
+ " <column name='avalue2' type='INTEGER'/>\n"+
+ " <unique name='test_index'>\n"+
+ " <unique-column name='avalue1'/>\n"+
+ " <unique-column name='avalue2'/>\n"+
+ " </unique>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip", new Object[] { new Integer(1), new Double(2.0), new Integer(3) });
model.getTable(0).getIndex(0).removeColumn(1);
@@ -685,6 +692,11 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip");
+
+ assertEquals(new Double(2.0), beans.get(0), "avalue1");
+ assertEquals(new Integer(3), beans.get(0), "avalue2");
}
/**
@@ -692,7 +704,22 @@
*/
public void testAddFK()
{
- Database model = createDatabase(TEST_ADD_FK_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ " <table name='roundtrip2'>\n"+
+ " <column name='pk' type='VARCHAR' size='32' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='INTEGER' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1) });
+ insertRow("roundtrip2", new Object[] { "2", new Integer(1) });
ForeignKey newFk = new ForeignKey("test");
@@ -706,6 +733,13 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans1 = getRows("roundtrip1");
+ List beans2 = getRows("roundtrip2");
+
+ assertEquals(new Integer(1), beans1.get(0), "pk");
+ assertEquals((Object)"2", beans2.get(0), "pk");
+ assertEquals(new Integer(1), beans2.get(0), "avalue");
}
/**
@@ -713,7 +747,28 @@
*/
public void testDropFK()
{
- Database model = createDatabase(TEST_DROP_FK_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk1' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='pk2' type='DOUBLE' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ " <table name='roundtrip2'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='DOUBLE' required='true'/>\n"+
+ " <column name='avalue2' type='INTEGER' required='true'/>\n"+
+ " <foreign-key foreignTable='roundtrip1'>\n"+
+ " <reference local='avalue2' foreign='pk1'/>\n"+
+ " <reference local='avalue1' foreign='pk2'/>\n"+
+ " </foreign-key>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1), new Double(2.0) });
+ insertRow("roundtrip2", new Object[] { new Integer(2), new Double(2.0), new Integer(1) });
model.getTable(1).removeForeignKey(0);
@@ -723,6 +778,15 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans1 = getRows("roundtrip1");
+ List beans2 = getRows("roundtrip2");
+
+ assertEquals(new Integer(1), beans1.get(0), "pk1");
+ assertEquals(new Double(2.0), beans1.get(0), "pk2");
+ assertEquals(new Integer(2), beans2.get(0), "pk");
+ assertEquals(new Double(2.0), beans2.get(0), "avalue1");
+ assertEquals(new Integer(1), beans2.get(0), "avalue2");
}
/**
@@ -730,7 +794,25 @@
*/
public void testAddReferenceToFK()
{
- Database model = createDatabase(TEST_ADD_REFERENCE_TO_FK_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk1' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ " <table name='roundtrip2'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='INTEGER' required='true'/>\n"+
+ " <foreign-key foreignTable='roundtrip1'>\n"+
+ " <reference local='avalue1' foreign='pk1'/>\n"+
+ " </foreign-key>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1) });
+ insertRow("roundtrip2", new Object[] { new Integer(2), new Integer(1) });
Column newPkColumn = new Column();
@@ -738,6 +820,7 @@
newPkColumn.setTypeCode(Types.DOUBLE);
newPkColumn.setPrimaryKey(true);
newPkColumn.setRequired(true);
+ newPkColumn.setDefaultValue("0.0");
model.getTable(0).addColumn(newPkColumn);
Column newFkColumn = new Column();
@@ -745,6 +828,7 @@
newFkColumn.setName("avalue2");
newFkColumn.setTypeCode(Types.DOUBLE);
newFkColumn.setRequired(true);
+ newFkColumn.setDefaultValue("0.0");
model.getTable(1).addColumn(newFkColumn);
model.getTable(1).getForeignKey(0).addReference(new Reference(newFkColumn, newPkColumn));
@@ -755,6 +839,15 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans1 = getRows("roundtrip1");
+ List beans2 = getRows("roundtrip2");
+
+ assertEquals(new Integer(1), beans1.get(0), "pk1");
+ assertEquals(new Double(0.0), beans1.get(0), "pk2");
+ assertEquals(new Integer(2), beans2.get(0), "pk");
+ assertEquals(new Integer(1), beans2.get(0), "avalue1");
+ assertEquals(new Double(0.0), beans2.get(0), "avalue2");
}
/**
@@ -762,7 +855,28 @@
*/
public void testRemoveReferenceFromFK()
{
- Database model = createDatabase(TEST_REMOVE_REFERENCE_FROM_FK_MODEL);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk1' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='pk2' type='VARCHAR' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ " <table name='roundtrip2'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue1' type='VARCHAR' required='true'/>\n"+
+ " <column name='avalue2' type='INTEGER' required='true'/>\n"+
+ " <foreign-key foreignTable='roundtrip1'>\n"+
+ " <reference local='avalue2' foreign='pk1'/>\n"+
+ " <reference local='avalue1' foreign='pk2'/>\n"+
+ " </foreign-key>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1), "test" });
+ insertRow("roundtrip2", new Object[] { new Integer(2), "test", new Integer(1) });
model.getTable(0).removeColumn(1);
model.getTable(1).removeColumn(1);
@@ -774,6 +888,13 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans1 = getRows("roundtrip1");
+ List beans2 = getRows("roundtrip2");
+
+ assertEquals(new Integer(1), beans1.get(0), "pk1");
+ assertEquals(new Integer(2), beans2.get(0), "pk");
+ assertEquals(new Integer(1), beans2.get(0), "avalue2");
}
/**
@@ -781,7 +902,17 @@
*/
public void testAddTable1()
{
- Database model = createDatabase(TEST_ADD_TABLE_MODEL_1);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1) });
Table newTable = new Table();
Column newPkColumn = new Column();
@@ -809,6 +940,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip1");
+
+ assertEquals(new Integer(1), beans.get(0), "pk");
}
/**
@@ -816,7 +951,18 @@
*/
public void testAddTable2()
{
- Database model = createDatabase(TEST_ADD_TABLE_MODEL_2);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='32' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1), "test" });
Table newTable = new Table();
Column newPkColumn = new Column();
@@ -830,7 +976,14 @@
newTable.addColumn(newPkColumn);
model.addTable(newTable);
- ForeignKey newFk = new ForeignKey("test");
+ alterDatabase(model);
+
+ // note that we have to split the alteration because we can only add the foreign key if
+ // there is a corresponding row in the new table
+
+ insertRow("roundtrip2", new Object[] { "test" });
+
+ ForeignKey newFk = new ForeignKey("test");
newFk.setForeignTable(newTable);
newFk.addReference(new Reference(model.getTable(0).getColumn(1), newPkColumn));
@@ -842,6 +995,13 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans1 = getRows("roundtrip1");
+ List beans2 = getRows("roundtrip2");
+
+ assertEquals(new Integer(1), beans1.get(0), "pk");
+ assertEquals((Object)"test", beans1.get(0), "avalue");
+ assertEquals((Object)"test", beans2.get(0), "pk");
}
/**
@@ -849,7 +1009,22 @@
*/
public void testRemoveTable1()
{
- Database model = createDatabase(TEST_REMOVE_TABLE_1);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ " <table name='roundtrip2'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='DOUBLE' required='true'/>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { new Integer(1) });
+ insertRow("roundtrip2", new Object[] { new Integer(2), new Double(2.0) });
model.removeTable(1);
@@ -859,6 +1034,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip1");
+
+ assertEquals(new Integer(1), beans.get(0), "pk");
}
/**
@@ -866,7 +1045,25 @@
*/
public void testRemoveTable2()
{
- Database model = createDatabase(TEST_REMOVE_TABLE_2);
+ final String modelXml =
+ "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
+ "<database name='roundtriptest'>\n"+
+ " <table name='roundtrip1'>\n"+
+ " <column name='pk' type='VARCHAR' size='20' primaryKey='true' required='true'/>\n"+
+ " </table>\n"+
+ " <table name='roundtrip2'>\n"+
+ " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n"+
+ " <column name='avalue' type='VARCHAR' size='20' required='true'/>\n"+
+ " <foreign-key foreignTable='roundtrip1'>\n"+
+ " <reference local='avalue' foreign='pk'/>\n"+
+ " </foreign-key>\n"+
+ " </table>\n"+
+ "</database>";
+
+ Database model = createDatabase(modelXml);
+
+ insertRow("roundtrip1", new Object[] { "test" });
+ insertRow("roundtrip2", new Object[] { new Integer(1), "test" });
model.getTable(1).removeForeignKey(0);
model.removeTable(0);
@@ -877,5 +1074,10 @@
assertEquals(getAdjustedModel(),
modelFromDb);
+
+ List beans = getRows("roundtrip2");
+
+ assertEquals(new Integer(1), beans.get(0), "pk");
+ assertEquals((Object)"test", beans.get(0), "avalue");
}
}