Author: brj
Date: Mon May 15 12:31:26 2006
New Revision: 406724

URL: http://svn.apache.org/viewcvs?rev=406724&view=rev
Log:
new testcases for 1:1 relationship

Modified:
    
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java

Modified: 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
URL: 
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java?rev=406724&r1=406723&r2=406724&view=diff
==============================================================================
--- 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
 (original)
+++ 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
 Mon May 15 12:31:26 2006
@@ -1256,6 +1256,134 @@
 
     }
 
+    /**
+     * Test if the Reference is null.
+     * @throws Exception
+     */
+    public void testNullReference() throws Exception
+    {
+        // proxy the relationship
+        ojbChangeReferenceSetting(ObjA.class, "ref", true, 
ObjectReferenceDescriptor.CASCADE_OBJECT,
+                ObjectReferenceDescriptor.CASCADE_OBJECT, false);
+
+        String name = "testNullReference_"+ System.currentTimeMillis();
+        
+        ObjA objA = new ObjA();
+        objA.setName(name);
+
+        broker.beginTransaction();
+        broker.store(objA);
+        broker.commitTransaction();
+        broker.clearCache();
+        
+        Criteria crit = new Criteria();
+        crit.addLike("name", name);
+        Query q = QueryFactory.newQuery(ObjA.class, crit);
+        Object result = broker.getObjectByQuery(q);
+        assertNotNull(result);
+        
+        ObjA objA2= (ObjA) result;
+        assertNull(objA2.getRef());
+    }
+
+    /**
+     * Test if the Reference is null when the Relationship is a Proxy.
+     * @throws Exception
+     */
+    public void testNullReferenceProxy() throws Exception
+    {
+        // proxy the relationship
+        ojbChangeReferenceSetting(ObjA.class, "ref", true, 
ObjectReferenceDescriptor.CASCADE_OBJECT,
+                ObjectReferenceDescriptor.CASCADE_OBJECT, true);
+
+        String name = "testNullReferenceProxy_" + System.currentTimeMillis();
+
+        ObjA objA = new ObjA();
+        objA.setName(name);
+
+        broker.beginTransaction();
+        broker.store(objA);
+        broker.commitTransaction();
+        broker.clearCache();
+
+        Criteria crit = new Criteria();
+        crit.addLike("name", name);
+        Query q = QueryFactory.newQuery(ObjA.class, crit);
+        Object result = broker.getObjectByQuery(q);
+        assertNotNull(result);
+
+        ObjA objA2 = (ObjA) result;
+        assertNull(objA2.getRef());
+    }
+
+    /**
+     * Test the Reference.
+     * @throws Exception
+     */
+    public void testReference() throws Exception
+    {
+        // proxy the relationship
+        ojbChangeReferenceSetting(ObjA.class, "ref", true, 
ObjectReferenceDescriptor.CASCADE_OBJECT,
+                ObjectReferenceDescriptor.CASCADE_OBJECT, false);
+
+        String name = "testReference_"+ System.currentTimeMillis();
+        
+        ObjA objA = new ObjA();
+        objA.setName(name);
+        ObjB objB = new ObjB();
+        objB.setName("B of " + name);
+        objA.setRef(objB);
+
+        broker.beginTransaction();
+        broker.store(objA);
+        broker.commitTransaction();
+        broker.clearCache();
+
+        Criteria crit = new Criteria();
+        crit.addLike("name", name);
+        Query q = QueryFactory.newQuery(ObjA.class, crit);
+        Object result = broker.getObjectByQuery(q);
+        assertNotNull(result);
+        
+        ObjA objA2= (ObjA) result;
+        assertNotNull(objA2.getRef());
+        assertSame(ObjB.class, objA2.getRef().getClass());
+    }
+
+    /**
+     * Test the Reference if the Relationship is a Proxy.
+     * @throws Exception
+     */
+    public void testReferenceProxy() throws Exception
+    {
+        // proxy the relationship
+        ojbChangeReferenceSetting(ObjA.class, "ref", true, 
ObjectReferenceDescriptor.CASCADE_OBJECT,
+                ObjectReferenceDescriptor.CASCADE_OBJECT, true);
+
+        String name = "testReferenceProxy_" + System.currentTimeMillis();
+
+        ObjA objA = new ObjA();
+        objA.setName(name);
+        ObjB objB = new ObjB();
+        objB.setName("B of " + name);
+        objA.setRef(objB);
+
+        broker.beginTransaction();
+        broker.store(objA);
+        broker.commitTransaction();
+        broker.clearCache();
+
+        Criteria crit = new Criteria();
+        crit.addLike("name", name);
+        Query q = QueryFactory.newQuery(ObjA.class, crit);
+        Object result = broker.getObjectByQuery(q);
+        assertNotNull(result);
+
+        ObjA objA2 = (ObjA) result;
+        assertNotNull(objA2.getRef());
+        assertNotSame(ObjB.class, objA2.getRef().getClass());   // Class is 
Proxy
+    }
+
     private Repository[] prepareRepository(String referenceNamePrefix)
     {
         Reference[] ref = new Reference[]{



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

Reply via email to