Added unit test for DDLUTILS-195: Can not update a foreign key on a case sensetive MySql Database

git-svn-id: https://svn.apache.org/repos/asf/db/ddlutils/trunk@711516 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/ddlutils/io/TestAlteration.java b/src/test/java/org/apache/ddlutils/io/TestAlteration.java
index 94687fe..8f23b55 100644
--- a/src/test/java/org/apache/ddlutils/io/TestAlteration.java
+++ b/src/test/java/org/apache/ddlutils/io/TestAlteration.java
@@ -880,6 +880,62 @@
     }

 

     /**

+     * Tests the removal of a foreign key with camel case naming (DDLUTILS-195).

+     */

+    public void testDropCamelCaseFK()

+    {

+        final String model1Xml = 

+            "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+

+            "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' 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 name='Rt1_To_Rt2' foreignTable='Roundtrip1'>\n"+

+            "      <reference local='Avalue2' foreign='Pk1'/>\n"+

+            "      <reference local='Avalue1' foreign='Pk2'/>\n"+

+            "    </foreign-key>\n"+

+            "  </table>\n"+

+            "</database>";

+        final String model2Xml = 

+            "<?xml version='1.0' encoding='ISO-8859-1'?>\n"+

+            "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' 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"+

+            "  </table>\n"+

+            "</database>";

+

+        createDatabase(model1Xml);

+

+        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) });

+

+        alterDatabase(model2Xml);

+

+        assertEquals(getAdjustedModel(),

+                     readModelFromDatabase("roundtriptest"));

+

+        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");

+    }

+

+    /**

      * Tests removing a foreign key and an index that has the same name and same column.

      */

     public void testDropFKAndCorrespondingIndex()