You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2004/05/20 11:36:55 UTC

cvs commit: db-ojb/src/test/org/apache/ojb/broker ReferenceTest.java

arminw      2004/05/20 02:36:55

  Modified:    src/test/org/apache/ojb/broker ReferenceTest.java
  Log:
  update testDeepPathQuery
  
  Revision  Changes    Path
  1.15      +27 -10    db-ojb/src/test/org/apache/ojb/broker/ReferenceTest.java
  
  Index: ReferenceTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ReferenceTest.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ReferenceTest.java	3 May 2004 16:13:39 -0000	1.14
  +++ ReferenceTest.java	20 May 2004 09:36:55 -0000	1.15
  @@ -48,24 +48,29 @@
           // if(skipKnownIssueProblem("query using path via reference, like 'ref1.ref2.name'")) return;
           String name = "testDeepPathQuery_" + System.currentTimeMillis();
           RefObject a = new ObjA();
  +        RefObject a2 = new ObjA();
           RefObject b = new ObjB();
           RefObject c = new ObjC();
  +
           c.setName(name+"_third");
  -        RefObject a2 = new ObjA();
  -        a2.setName(name+"_first");
  +        b.setName(name+"_second");
  +        a.setName(name+"_first_1");
  +        a2.setName(name+"_first_2");
  +
           a.setRef(b);
           b.setRef(c);
  +
           broker.beginTransaction();
           broker.store(a);
           broker.store(a2);
           broker.commitTransaction();
   
  -        // check existence of object
  +        // check existence of objects
           Criteria crit = new Criteria();
           crit.addLike("name", name+"%");
           Query q = QueryFactory.newQuery(ObjA.class, crit);
           Collection result = broker.getCollectionByQuery(q);
  -        assertEquals(1, result.size());
  +        assertEquals(2, result.size());
   
           // check existence of object
           crit = new Criteria();
  @@ -74,6 +79,14 @@
           result = broker.getCollectionByQuery(q);
           assertEquals(1, result.size());
   
  +        // test one level depth
  +        crit = new Criteria();
  +        crit.addEqualTo("ref.name", name+"_second");
  +        q = QueryFactory.newQuery(ObjA.class, crit);
  +        result = broker.getCollectionByQuery(q);
  +        assertEquals(1, result.size());
  +
  +        // test n-level depth
           // here the pain starts
           //*****************************************
           crit = new Criteria();
  @@ -85,7 +98,7 @@
   
           // similar but more complex query
           crit = new Criteria();
  -        crit.addEqualTo("name", name+"_first");
  +        crit.addEqualTo("name", name+"_first_2");
           Criteria critOr = new Criteria();
           critOr.addEqualTo("ref.ref.name", name+"_third");
           crit.addOrCriteria(critOr);
  @@ -324,11 +337,15 @@
           broker.store(repository[2]);
           broker.commitTransaction();
   
  -        assertNotNull(repository[0].getRef());
  -        assertNotNull(repository[0].getRefA());
  -        assertNotNull(repository[0].getRefB());
  +        broker.clearCache();
  +        Identity oid = new Identity(repository[0], broker);
  +
  +        Repository rep = (Repository) broker.getObjectByIdentity(oid);
  +        assertNotNull(rep.getRef());
  +        assertNotNull(rep.getRefA());
  +        assertNotNull(rep.getRefB());
           // lookup reference name, set in prepareRepository method
  -        assertEquals(repository[0].getRefB().getRefNameB(), REF_TEST_STRING);
  +        assertEquals(rep.getRefB().getRefNameB(), REF_TEST_STRING);
       }
   
       public void testGetReferencesByIdentityMappedToSameTable()
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org