Author: tv
Date: Fri Oct 20 11:55:09 2006
New Revision: 466231

URL: http://svn.apache.org/viewvc?view=rev&rev=466231
Log:
Test if the "interface" attribute of <table> does what is
documented.

Added:
    
db/torque/test/trunk/test-project/src/java/org/apache/torque/TestInterface.java
Modified:
    db/torque/test/trunk/test-project/maven.xml
    db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java
    db/torque/test/trunk/test-project/src/schema/bookstore-schema.xml

Modified: db/torque/test/trunk/test-project/maven.xml
URL: 
http://svn.apache.org/viewvc/db/torque/test/trunk/test-project/maven.xml?view=diff&rev=466231&r1=466230&r2=466231
==============================================================================
--- db/torque/test/trunk/test-project/maven.xml (original)
+++ db/torque/test/trunk/test-project/maven.xml Fri Oct 20 11:55:09 2006
@@ -75,8 +75,21 @@
       deprecation="${torque.compile.deprecation}"
       destdir="${torque.test.compile.dir}"
       optimize="${torque.compile.optimize}"
-      srcdir="${torque.java.dir}">
+      srcdir="${torque.test.junit.src.dir}">
+      <include name="**/TestInterface.java" />
       <classpath refid="maven.dependency.classpath"/>
+    </javac>
+
+    <javac
+      debug="${torque.compile.debug}"
+      deprecation="${torque.compile.deprecation}"
+      destdir="${torque.test.compile.dir}"
+      optimize="${torque.compile.optimize}"
+      srcdir="${torque.java.dir}">
+      <classpath>
+        <pathelement location="${torque.test.compile.dir}"/>
+        <path refid="maven.dependency.classpath"/>
+      </classpath>
     </javac>
 
     <javac

Modified: 
db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java
URL: 
http://svn.apache.org/viewvc/db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java?view=diff&rev=466231&r1=466230&r2=466231
==============================================================================
--- db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java 
(original)
+++ db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java 
Fri Oct 20 11:55:09 2006
@@ -54,6 +54,8 @@
 import org.apache.torque.test.ClobTestPeer;
 import org.apache.torque.test.DateTest;
 import org.apache.torque.test.DateTestPeer;
+import org.apache.torque.test.IfcTable;
+import org.apache.torque.test.IfcTablePeer;
 import org.apache.torque.test.IntegerPk;
 import org.apache.torque.test.IntegerPkPeer;
 import org.apache.torque.test.LargePk;
@@ -1491,6 +1493,30 @@
         }
     }
     
+    /**
+     * Tests whether a table implementing an interface actually
+     * returns an instance of this interface 
+     * @throws Exception if the test fails
+     */
+    public void testInterface() throws Exception
+    {
+        IfcTable ifc = new IfcTable();
+        
+        assertTrue("IfcTable should be an instance of TestInterface", ifc 
instanceof TestInterface);
+        
+        ifc.setID(1);
+        ifc.setName("John Doe");
+        ifc.save();
+
+        List results = IfcTablePeer.doSelect(new Criteria());
+        
+        for (Iterator i = results.iterator(); i.hasNext();)
+        {
+            assertTrue("IfcTablePeer.doSelect should return instances of 
TestInterface", 
+                    i.next() instanceof TestInterface);
+        }
+    }
+
     /**
      * Tests whether shutdown complains about anything
      * @throws TorqueException if shutdown does not exit cleanly

Added: 
db/torque/test/trunk/test-project/src/java/org/apache/torque/TestInterface.java
URL: 
http://svn.apache.org/viewvc/db/torque/test/trunk/test-project/src/java/org/apache/torque/TestInterface.java?view=auto&rev=466231
==============================================================================
--- 
db/torque/test/trunk/test-project/src/java/org/apache/torque/TestInterface.java 
(added)
+++ 
db/torque/test/trunk/test-project/src/java/org/apache/torque/TestInterface.java 
Fri Oct 20 11:55:09 2006
@@ -0,0 +1,40 @@
+package org.apache.torque;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License")
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Test interface to check if the interface attribute of &lt;table&gt;
+ * does what it is supposed to do. 
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+
+public interface TestInterface
+{
+    /** Get the primary key */ 
+    int getID();
+
+    /** Get the name */ 
+    String getName();
+
+    /** Set the primary key */ 
+    void setID(int id);
+
+    /** Set the name */ 
+    void setName(String name);
+}

Modified: db/torque/test/trunk/test-project/src/schema/bookstore-schema.xml
URL: 
http://svn.apache.org/viewvc/db/torque/test/trunk/test-project/src/schema/bookstore-schema.xml?view=diff&rev=466231&r1=466230&r2=466231
==============================================================================
--- db/torque/test/trunk/test-project/src/schema/bookstore-schema.xml (original)
+++ db/torque/test/trunk/test-project/src/schema/bookstore-schema.xml Fri Oct 
20 11:55:09 2006
@@ -265,4 +265,22 @@
     </foreign-key>
   </table>
 
+  <!-- =================================================== -->
+  <!-- T A B L E  W I T H  I N T E R F A C E               -->
+  <!-- =================================================== -->
+
+  <table name="ifc_table" idMethod="none"
+       interface="org.apache.torque.TestInterface"
+       description="this table implements an interface">
+    <column
+      name="id" javaName="ID"
+      type="INTEGER"
+    />
+    <column
+      name="name" javaName="Name"
+      type="VARCHAR"
+      size="50"
+    />
+  </table>
+
 </database>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to