Author: tv
Date: Sun Jan 8 12:05:06 2006
New Revision: 367081
URL: http://svn.apache.org/viewcvs?rev=367081&view=rev
Log:
Added test for doSelectAllExceptXXX()
Modified:
db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java
Modified:
db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java
URL:
http://svn.apache.org/viewcvs/db/torque/test/trunk/test-project/src/java/org/apache/torque/DataTest.java?rev=367081&r1=367080&r2=367081&view=diff
==============================================================================
--- 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
Sun Jan 8 12:05:06 2006
@@ -36,6 +36,8 @@
import org.apache.torque.test.APeer;
import org.apache.torque.test.Author;
import org.apache.torque.test.AuthorPeer;
+import org.apache.torque.test.B;
+import org.apache.torque.test.BPeer;
import org.apache.torque.test.BitTest;
import org.apache.torque.test.BitTestPeer;
import org.apache.torque.test.BlobTest;
@@ -44,6 +46,8 @@
import org.apache.torque.test.BookPeer;
import org.apache.torque.test.BooleanCheck;
import org.apache.torque.test.BooleanCheckPeer;
+import org.apache.torque.test.C;
+import org.apache.torque.test.CPeer;
import org.apache.torque.test.ClobTest;
import org.apache.torque.test.ClobTestPeer;
import org.apache.torque.test.DateTest;
@@ -58,6 +62,8 @@
import org.apache.torque.test.MultiPkPeer;
import org.apache.torque.test.NullValueTable;
import org.apache.torque.test.NullValueTablePeer;
+import org.apache.torque.test.RAb;
+import org.apache.torque.test.RAbPeer;
import org.apache.torque.util.BasePeer;
import org.apache.torque.util.CountHelper;
import org.apache.torque.util.Criteria;
@@ -71,6 +77,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Martin Poeschl</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Thomas Fischer</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Patrick Carl</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Thomas Vandahl</a>
* @version $Id$
*/
public class DataTest extends BaseRuntimeTestCase
@@ -671,6 +678,57 @@
}
/**
+ * Test joins using the XPeer.DoSelectJoinAllExceptYYY methods
+ * @throws Exception if the Test fails
+ */
+ public void testDoSelectJoinAllExceptY() throws Exception
+ {
+ cleanABC();
+
+ // setup test data
+ A a = new A();
+ a.setName("test a");
+ a.save();
+
+ B b = new B();
+ b.setName("test b");
+ b.save();
+
+ RAb rab = new RAb();
+ rab.setName("test rab");
+ rab.setA(a);
+ rab.setB(b);
+ rab.save();
+
+ C c = new C();
+ c.setName("test c");
+ c.setA(a);
+ c.setB(b);
+ c.setRAb(rab);
+ c.save();
+
+ Criteria criteria = new Criteria();
+ criteria.add(APeer.A_ID, a.getAId());
+ List list = MyCPeer.doSelectJoinAllExceptA(criteria);
+ assertTrue("list should contain 1 entry but contains "
+ + list.size(), list.size() == 1);
+
+ C c1 = (C)list.get(0);
+ B b1 = c1.getB();
+ RAb rab1 = c1.getRAb();
+
+ assertTrue("The name of c1 should be 'test c' but is " + c1.getName(),
+ c1.getName().equals("test c"));
+ assertTrue("The name of b1 should be 'test b' but is " + b1.getName(),
+ b1.getName().equals("test b"));
+ assertTrue("The name of rab1 should be 'test rab' but is " +
rab1.getName(),
+ rab1.getName().equals("test rab"));
+ assertTrue ("The c's of b1 and rab1"
+ + " should point to the same instance",
+ b1.getCs().get(0) == rab1.getCs().get(0));
+ }
+
+ /**
* test the order by, especially in joins and with aliases
* @throws Exception if the test fails
*/
@@ -1093,10 +1151,7 @@
*/
public void testSingleQuotes() throws Exception
{
- // clean A table
- Criteria criteria = new Criteria();
- criteria.add(APeer.A_ID, (Long) null, Criteria.NOT_EQUAL);
- APeer.doDelete(criteria);
+ cleanABC();
A a = new A();
a.setName("has Single ' Quote");
@@ -1355,6 +1410,34 @@
AuthorPeer.doDelete(criteria);
}
+ /**
+ * Deletes all As, Bs, Cs and RAs
+ * @throws Exception if the cleanup fails
+ */
+ protected void cleanABC() throws Exception
+ {
+ // clean C table
+ Criteria criteria = new Criteria();
+ criteria.add(CPeer.C_ID, (Long) null, Criteria.NOT_EQUAL);
+ CPeer.doDelete(criteria);
+
+ // clean R_AB table
+ criteria.clear();
+ criteria.add(RAbPeer.A_ID, (Long) null, Criteria.NOT_EQUAL);
+ criteria.add(RAbPeer.B_ID, (Long) null, Criteria.NOT_EQUAL);
+ RAbPeer.doDelete(criteria);
+
+ // clean A table
+ criteria.clear();
+ criteria.add(APeer.A_ID, (Long) null, Criteria.NOT_EQUAL);
+ APeer.doDelete(criteria);
+
+ // clean B table
+ criteria.clear();
+ criteria.add(BPeer.B_ID, (Long) null, Criteria.NOT_EQUAL);
+ BPeer.doDelete(criteria);
+ }
+
/**
* Strips the schema and table name from a fully qualified colum name
@@ -1386,6 +1469,18 @@
throws TorqueException
{
return BookPeer.doSelectJoinAuthor(criteria);
+ }
+ }
+
+ /**
+ * Subclass of CPeer to make the doSelectJoinAllExceptA() visible
+ */
+ static class MyCPeer extends CPeer
+ {
+ public static List doSelectJoinAllExceptA(Criteria criteria)
+ throws TorqueException
+ {
+ return CPeer.doSelectJoinAllExceptA(criteria);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]