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 <table>
+ * 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]