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 2006/05/13 22:31:21 UTC

svn commit: r406148 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/FieldConversionTest.java

Author: arminw
Date: Sat May 13 13:31:19 2006
New Revision: 406148

URL: http://svn.apache.org/viewcvs?rev=406148&view=rev
Log:
add new tests

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

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/FieldConversionTest.java
URL: http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/FieldConversionTest.java?rev=406148&r1=406147&r2=406148&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/FieldConversionTest.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/FieldConversionTest.java Sat May 13 13:31:19 2006
@@ -1,12 +1,21 @@
 package org.apache.ojb.broker;
 
-import junit.framework.TestCase;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Vector;
+import java.sql.Time;
+
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
 import org.apache.ojb.broker.accesslayer.conversions.ConversionException;
 import org.apache.ojb.broker.accesslayer.conversions.FieldConversion;
-
-import java.io.Serializable;
+import org.apache.ojb.broker.accesslayer.conversions.StringList2VarcharFieldConversion;
+import org.apache.ojb.broker.accesslayer.conversions.TimeList2VarcharFieldConversion;
+import org.apache.ojb.broker.accesslayer.conversions.StringVector2VarcharFieldConversion;
+import org.apache.ojb.broker.accesslayer.conversions.IntList2VarcharFieldConversion;
+import org.apache.ojb.junit.PBTestCase;
 
 /**
  * Test case to check the field conversion.
@@ -14,41 +23,304 @@
  * @author <a href="mailto:armin@codeAuLait.de">Armin Waibel</a>
  * @version $Id$
  */
-public class FieldConversionTest extends TestCase
+public class FieldConversionTest extends PBTestCase
 {
-    private PersistenceBroker broker;
-
     public static void main(String[] args)
     {
         String[] arr = {FieldConversionTest.class.getName()};
         junit.textui.TestRunner.main(arr);
     }
 
-    /**
-     * Insert the method's description here.
-     * Creation date: (06.12.2000 21:58:53)
-     */
-    public void setUp() throws PBFactoryException
-    {
-        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
-    }
-
-    /**
-     * Insert the method's description here.
-     * Creation date: (06.12.2000 21:59:14)
-     */
-    public void tearDown()
-    {
-        try
-        {
-            broker.clearCache();
-            broker.close();
-        }
-        catch (PersistenceBrokerException e)
-        {
-        }
+    public void setUp() throws Exception
+    {
+        super.setUp();
+    }
+
+    public void tearDown() throws Exception
+    {
+        super.tearDown();
+    }
+
+    public void testStringList2VarcharFieldConversion()
+    {
+        FieldConversion conv = new StringList2VarcharFieldConversion();
+        List list = new ArrayList();
+        list.add("1");
+        List result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add("");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add("");
+        list.add("");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add(null);
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        result = doubleConvertList2Varchar(conv, null);
+        assertEquals(null, result);
+
+        result = doubleConvertList2Varchar(conv, Collections.EMPTY_LIST);
+        assertEquals(0, result.size());
+
+        list = new ArrayList();
+        list.add("");
+        list.add("1");
+        list.add("2");
+        // '#' is not allowed, but within a String the
+        // conversion pass nevertheless
+        list.add("2#a");
+        list.add("3");
+        list.add("");
+        list.add(null);
+        list.add("");
+        list.add(null);
+        list.add("8");
+        list.add("+9+");
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        // '#' is not allowed, but within a String the
+        // conversion pass nevertheless
+        list = new ArrayList();
+        list.add("e#e");
+        list.add("test");
+        list.add("a#a#a#a#a");
+        list.add("2#####a#b");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add("NULL");
+        list.add("EMPTY");
+        list.add("EMTPY");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add("NULL");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add("EMPTY");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new ArrayList();
+        list.add("EMTPY");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
     }
 
+    public void testStringVector2VarcharFieldConversion()
+    {
+        FieldConversion conv = new StringVector2VarcharFieldConversion();
+        List list = new Vector();
+        list.add("1");
+        List result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add("");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add("");
+        list.add("");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add(null);
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        result = doubleConvertList2Varchar(conv, null);
+        assertEquals(null, result);
+
+        result = doubleConvertList2Varchar(conv, Collections.EMPTY_LIST);
+        assertEquals(0, result.size());
+
+        list = new Vector();
+        list.add("");
+        list.add("1");
+        list.add("2");
+        // '#' is not allowed, but within a String the
+        // conversion pass nevertheless
+        list.add("2#a");
+        list.add("3");
+        list.add("");
+        list.add(null);
+        list.add("");
+        list.add(null);
+        list.add("8");
+        list.add("+9+");
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        // '#' is not allowed, but within a String the
+        // conversion pass nevertheless
+        list = new Vector();
+        list.add("e#e");
+        list.add("test");
+        list.add("a#a#a#a#a");
+        list.add("2#####a#b");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add("NULL");
+        list.add("EMPTY");
+        list.add("EMTPY");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add("NULL");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add("EMPTY");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+
+        list = new Vector();
+        list.add("EMTPY");
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list, result);
+    }
+
+    public void testTimeList2VarcharFieldConversion()
+    {
+        FieldConversion conv = new TimeList2VarcharFieldConversion();
+
+        List list = new ArrayList();
+        list.add(new Time(1));
+        List result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+
+        list = new ArrayList();
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+
+        list = new ArrayList();
+        list.add(null);
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+
+        result = doubleConvertList2Varchar(conv, null);
+        assertEquals(null, result);
+
+        result = doubleConvertList2Varchar(conv, Collections.EMPTY_LIST);
+        assertEquals(0, result.size());
+
+        list = new ArrayList();
+        list.add(null);
+        list.add(new Time(1));
+        list.add(new Time(2));
+        list.add(new Time(System.currentTimeMillis()));
+        // '#' is not allowed, but within a String the
+        // conversion pass nevertheless
+        list.add(new Time(3));
+        list.add(new Time(4));
+        list.add(null);
+        list.add(null);
+        list.add(new Time(5));
+        list.add(new Time(6));
+        list.add(new Time(Long.MAX_VALUE));
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+    }
+
+    public void testIntList2VarcharFieldConversion()
+    {
+        FieldConversion conv = new IntList2VarcharFieldConversion();
+
+        List list = new ArrayList();
+        list.add(new Integer(1));
+        List result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+
+        list = new ArrayList();
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+
+        list = new ArrayList();
+        list.add(null);
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+
+        result = doubleConvertList2Varchar(conv, null);
+        assertEquals(null, result);
+
+        result = doubleConvertList2Varchar(conv, Collections.EMPTY_LIST);
+        assertEquals(0, result.size());
+
+        list = new ArrayList();
+        list.add(null);
+        list.add(new Integer(1));
+        list.add(new Integer(2));
+        // '#' is not allowed, but within a String the
+        // conversion pass nevertheless
+        list.add(new Integer(3));
+        list.add(new Integer(4));
+        list.add(null);
+        list.add(null);
+        list.add(new Integer(5));
+        list.add(new Integer(6));
+        list.add(null);
+        result = doubleConvertList2Varchar(conv, list);
+        assertEquals(list.toString(), result.toString());
+    }
+
+    private List doubleConvertList2Varchar(FieldConversion conv, List list)
+    {
+        String str = (String) conv.javaToSql(list);
+        //System.out.println("start: " + list);
+        //System.out.println("-->conv_sql: " + str);
+        List list2 = (List) conv.sqlToJava(str);
+        //System.out.println(" -->conv_java: " + list2);
+        str = (String) conv.javaToSql(list2);
+        //System.out.println(" -->conv_sql: " + str);
+        list2 = (List) conv.sqlToJava(str);
+        //System.out.println(" -->conv_java: " + list2);
+        //System.out.println("");
+
+        return list2;
+    }
+
+
+
     public void testConversion()
     {
         int id = (int) (System.currentTimeMillis() % Integer.MAX_VALUE);
@@ -58,9 +330,9 @@
         broker.store(vo);
         broker.commitTransaction();
 
-        Identity identity = new Identity(vo, broker);
+        Identity identity = broker.serviceIdentity().buildIdentity(vo);
         broker.clearCache();
-        ConversionVO find_vo = (ConversionVO) broker.getObjectByIdentity(identity);
+        broker.getObjectByIdentity(identity);
     }
 
     public static class FieldConversionConversionIdToInteger implements FieldConversion



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