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]