You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2009/12/22 21:54:55 UTC

svn commit: r893313 - in /ofbiz/trunk/framework/base/src/org/ofbiz/base: conversion/DateTimeConverters.java test/BaseUnitTests.java

Author: adrianc
Date: Tue Dec 22 20:54:55 2009
New Revision: 893313

URL: http://svn.apache.org/viewvc?rev=893313&view=rev
Log:
First batch of converter tests.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
    ofbiz/trunk/framework/base/src/org/ofbiz/base/test/BaseUnitTests.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java?rev=893313&r1=893312&r2=893313&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java Tue Dec 22 20:54:55 2009
@@ -20,6 +20,7 @@
 
 import java.text.DateFormat;
 import java.text.ParseException;
+import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
 
@@ -79,6 +80,11 @@
             super(java.util.Date.class, String.class);
         }
 
+        @Override
+        public String convert(Date obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(java.util.Date obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException {
             DateFormat df = null;
             if (UtilValidate.isEmpty(formatString)) {
@@ -227,6 +233,11 @@
             super(java.sql.Date.class, String.class);
         }
 
+        @Override
+        public String convert(java.sql.Date obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(java.sql.Date obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException {
             DateFormat df = null;
             if (UtilValidate.isEmpty(formatString)) {

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/test/BaseUnitTests.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/test/BaseUnitTests.java?rev=893313&r1=893312&r2=893313&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/test/BaseUnitTests.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/test/BaseUnitTests.java Tue Dec 22 20:54:55 2009
@@ -20,6 +20,7 @@
 
 import junit.framework.TestCase;
 
+import org.ofbiz.base.conversion.*;
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.UtilFormatOut;
 import org.ofbiz.base.util.UtilValidate;
@@ -70,4 +71,65 @@
     public void testIsFloat_2() {
         assertTrue(UtilValidate.isFloat("10.000", true, true, 3, 3));
     }
+
+    public void testDateTimeConverters() {
+        // Source class = java.util.Date
+        java.util.Date utilDate = new java.util.Date();
+        long dateMillis = utilDate.getTime();
+        Converter<java.util.Date, Long> dateToLong = new DateTimeConverters.DateToLong();
+        try {
+            Long target = dateToLong.convert(utilDate);
+            assertTrue(buildConversionMessage("DateToLong", dateMillis, target.longValue()), dateMillis == target.longValue());
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+        Converter<java.util.Date, java.sql.Date> dateToSqlDate = new DateTimeConverters.DateToSqlDate();
+        try {
+            java.sql.Date target = dateToSqlDate.convert(utilDate);
+            assertTrue(buildConversionMessage("DateToSqlDate", dateMillis, target.getTime()), dateMillis == target.getTime());
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+        Converter<java.util.Date, String> dateToString = new DateTimeConverters.DateToString();
+        try {
+            String target = dateToString.convert(utilDate);
+            assertTrue(buildConversionMessage("DateToString", utilDate.toString(), target), utilDate.toString().equals(target));
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+        Converter<java.util.Date, java.sql.Timestamp> dateToTimestamp = new DateTimeConverters.DateToTimestamp();
+        try {
+            java.sql.Timestamp timestamp = dateToTimestamp.convert(utilDate);
+            assertTrue(buildConversionMessage("DateToTimestamp", dateMillis, timestamp.getTime()), dateMillis == timestamp.getTime());
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+        // Source class = java.sql.Date
+        java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
+        Converter<java.sql.Date, java.util.Date> sqlDateToDate = new DateTimeConverters.SqlDateToDate();
+        try {
+            java.util.Date target = sqlDateToDate.convert(sqlDate);
+            assertTrue(buildConversionMessage("SqlDateToDate", sqlDate.getTime(), target.getTime()), sqlDate.getTime() == target.getTime());
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+        Converter<java.sql.Date, String> sqlDateToString = new DateTimeConverters.SqlDateToString();
+        try {
+            String target = sqlDateToString.convert(sqlDate);
+            assertTrue(buildConversionMessage("SqlDateToString", sqlDate.toString(), target), sqlDate.toString().equals(target));
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+        Converter<java.sql.Date, java.sql.Timestamp> sqlDateToTimestamp = new DateTimeConverters.SqlDateToTimestamp();
+        try {
+            java.sql.Timestamp target = sqlDateToTimestamp.convert(sqlDate);
+            assertTrue(buildConversionMessage("SqlDateToTimestamp", sqlDate.getTime(), target.getTime()), sqlDate.getTime() == target.getTime());
+        } catch (ConversionException e) {
+            fail(e.getMessage());
+        }
+    }
+
+    protected static String buildConversionMessage(String conversion, Object source, Object target) {
+        return conversion + " conversion: source = " + source + ", target = " + target;    
+    }
 }



Re: svn commit: r893313 - in /ofbiz/trunk/framework/base/src/org/ofbiz/base: conversion/DateTimeConverters.java test/BaseUnitTests.java

Posted by Adrian Crum <ad...@hlmksw.com>.
Adam Heath wrote:
> adrianc@apache.org wrote:
>> Author: adrianc
>> Date: Tue Dec 22 20:54:55 2009
>> New Revision: 893313
> 
>> +            String target = dateToString.convert(utilDate);
>> +            assertTrue(buildConversionMessage("DateToString", utilDate.toString(), target), utilDate.toString().equals(target));
> 
> No, do not use assertTrue.  Use assertEquals, so that you get "got
> foo, expected bar" message from junit.

Cool. Thanks!


Re: svn commit: r893313 - in /ofbiz/trunk/framework/base/src/org/ofbiz/base: conversion/DateTimeConverters.java test/BaseUnitTests.java

Posted by Adam Heath <do...@brainfood.com>.
adrianc@apache.org wrote:
> Author: adrianc
> Date: Tue Dec 22 20:54:55 2009
> New Revision: 893313

> +            String target = dateToString.convert(utilDate);
> +            assertTrue(buildConversionMessage("DateToString", utilDate.toString(), target), utilDate.toString().equals(target));

No, do not use assertTrue.  Use assertEquals, so that you get "got
foo, expected bar" message from junit.