Author: arminw
Date: Sun Jan  8 11:58:11 2006
New Revision: 367077

URL: http://svn.apache.org/viewcvs?rev=367077&view=rev
Log:
add new Test, update Tests to check PersistentFieldCGLibImpl too

Modified:
    
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
    
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java

Modified: 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
URL: 
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java?rev=367077&r1=367076&r2=367077&view=diff
==============================================================================
--- 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
 (original)
+++ 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
 Sun Jan  8 11:58:11 2006
@@ -8,6 +8,7 @@
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl;
 import 
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl;
 import 
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl;
+import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl;
 import org.apache.ojb.broker.util.ClassHelper;
 import org.apache.ojb.junit.OJBTestCase;
 
@@ -52,6 +53,7 @@
 
     Class[] persistentFieldClasses = new Class[]{
         PersistentFieldDirectImpl.class
+        , PersistentFieldCGLibImpl.class
         , PersistentFieldIntrospectorImpl.class
         , PersistentFieldPrivilegedImpl.class
         , PersistentFieldAutoProxyImpl.class};

Modified: 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
URL: 
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java?rev=367077&r1=367076&r2=367077&view=diff
==============================================================================
--- 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
 (original)
+++ 
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
 Sun Jan  8 11:58:11 2006
@@ -15,6 +15,7 @@
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl;
 import 
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl;
 import 
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl;
+import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl;
 import org.apache.ojb.broker.util.ClassHelper;
 import org.apache.ojb.broker.util.configuration.impl.OjbConfiguration;
 import org.apache.ojb.broker.util.configuration.impl.OjbConfigurator;
@@ -48,6 +49,7 @@
 
     Class[] persistentFieldClasses = new Class[]{
         PersistentFieldDirectImpl.class
+        , PersistentFieldCGLibImpl.class
         , PersistentFieldIntrospectorImpl.class
         , PersistentFieldPrivilegedImpl.class
         , PersistentFieldAutoProxyImpl.class
@@ -261,7 +263,43 @@
         assertEquals("XXXX", result);
     }
 
+    public void testPersistentFieldAuto() throws Exception
+    {
+        PersistentField pf_id = new 
PersistentFieldAutoProxyImpl(TestObj.class, "id");
+        PersistentField pf_name = new 
PersistentFieldAutoProxyImpl(TestObj.class, "name");
+        PersistentField pf_int = new 
PersistentFieldAutoProxyImpl(TestObj.class, "aInt");
+        PersistentField pf_value = new 
PersistentFieldAutoProxyImpl(TestObj.class, "value");
+
+        TestObj obj = new TestObj(new Integer(17), "name", 33, "value");
+
+        assertEquals(new Integer(17), pf_id.get(obj));
+        assertEquals("name", pf_name.get(obj));
+        assertEquals(new Integer(33), pf_int.get(obj));
+        assertEquals("value", pf_value.get(obj));
+
+        pf_id.set(obj, new Integer(222));
+        pf_name.set(obj, "new");
+        pf_int.set(obj, new Integer(111));
+        pf_value.set(obj, "new_value");
+
+        assertEquals(new Integer(222), pf_id.get(obj));
+        assertEquals("new", pf_name.get(obj));
+        assertEquals(new Integer(111), pf_int.get(obj));
+        assertEquals("new_value", pf_value.get(obj));
 
+        // test for exception
+        try
+        {
+            PersistentField pf_NotExist = new 
PersistentFieldAutoProxyImpl(TestObj.class, "not_exist");
+            pf_NotExist.get(obj);
+            fail("Expect error for invalid field");
+        }
+        catch(Exception expected)
+        {
+            //expected.printStackTrace();
+            // is expected
+        }
+    }
 
     //************************************************************************
     // helper methods
@@ -544,6 +582,51 @@
         public void setName(String name)
         {
             this.name = name;
+        }
+    }
+
+    abstract static class Base
+    {
+        Integer id;
+        private String name;
+        int aInt;
+
+        protected Base(Integer id, String name, int aInt)
+        {
+            this.id = id;
+            this.name = name;
+            this.aInt = aInt;
+        }
+    }
+
+    public static class TestObj extends Base
+    {
+        private String value;
+
+        public TestObj(Integer id, String name, int aInt, String value)
+        {
+            super(id, name, aInt);
+            this.value = value;
+        }
+
+        public int getaInt()
+        {
+            return aInt;
+        }
+
+        public void setaInt(int aInt)
+        {
+            this.aInt = aInt;
+        }
+
+        public String getValue()
+        {
+            return value;
+        }
+
+        public void setValue(String value)
+        {
+            this.value = value;
         }
     }
 }



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

Reply via email to