Author: adrianc
Date: Sun Mar 14 06:35:34 2010
New Revision: 922775

URL: http://svn.apache.org/viewvc?rev=922775&view=rev
Log:
Improved Date/Time converter tests.

Modified:
    
commons/sandbox/convert/trunk/src/test/java/org/apache/commons/convert/TestDateTimeConverters.java

Modified: 
commons/sandbox/convert/trunk/src/test/java/org/apache/commons/convert/TestDateTimeConverters.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/convert/trunk/src/test/java/org/apache/commons/convert/TestDateTimeConverters.java?rev=922775&r1=922774&r2=922775&view=diff
==============================================================================
--- 
commons/sandbox/convert/trunk/src/test/java/org/apache/commons/convert/TestDateTimeConverters.java
 (original)
+++ 
commons/sandbox/convert/trunk/src/test/java/org/apache/commons/convert/TestDateTimeConverters.java
 Sun Mar 14 06:35:34 2010
@@ -34,25 +34,46 @@ public class TestDateTimeConverters exte
         assertEquals(label + " converted", target, converter.convert(source));
     }
 
+    public static <S, T> void assertStringConversion(String label, 
Converter<S, T> converter, S source, java.util.Date target) throws Exception {
+        assertTrue(label + " can convert", 
converter.canConvert(source.getClass(), target.getClass()));
+        T result = converter.convert(source);
+        assertEquals(label + " converted", source, result.toString());
+    }
+
     public void testDateTimeConverters() throws Exception {
-        // Source class = java.util.Date
         long currentTime = System.currentTimeMillis();
         java.util.Date utilDate = new java.util.Date(currentTime);
+        java.sql.Date sqlDate = new java.sql.Date(currentTime);
+        java.sql.Time sqlTime = new java.sql.Time(currentTime);
+        java.sql.Timestamp timestamp = new java.sql.Timestamp(currentTime);
+        // Source class = java.util.Date
         assertConversion("DateToLong", new DateTimeConverters.DateToLong(), 
utilDate, currentTime);
         assertConversion("DateToSqlDate", new 
DateTimeConverters.DateToSqlDate(), utilDate, new java.sql.Date(currentTime));
         assertConversion("DateToString", new 
DateTimeConverters.DateToString(), utilDate, utilDate.toString());
-        //assertConversion("StringToDate", new 
DateTimeConverters.StringToDate(), utilDate.toString(), utilDate);
         assertConversion("DateToTimestamp", new 
DateTimeConverters.DateToTimestamp(), utilDate, new 
java.sql.Timestamp(currentTime));
         // Source class = java.sql.Date
-        java.sql.Date sqlDate = new java.sql.Date(currentTime);
         assertConversion("SqlDateToDate", new 
DateTimeConverters.SqlDateToDate(), sqlDate, utilDate);
+        assertConversion("SqlDateToLong", new 
DateTimeConverters.SqlDateToLong(), sqlDate, currentTime);
         assertConversion("SqlDateToString", new 
DateTimeConverters.SqlDateToString(), sqlDate, sqlDate.toString());
-        //assertConversion("StringToSqlDate", new 
DateTimeConverters.StringToSqlDate(), sqlDate.toString(), sqlDate);
-        java.sql.Timestamp timestamp = new java.sql.Timestamp(currentTime);
         assertConversion("SqlDateToTimestamp", new 
DateTimeConverters.SqlDateToTimestamp(), sqlDate, timestamp);
-        assertConversion("StringToTimestamp", new 
DateTimeConverters.StringToTimestamp(), timestamp.toString(), timestamp);
+        // Source class = java.sql.Time
+        // assertConversion("SqlTimeToDate", new 
DateTimeConverters.SqlTimeToSqlDate(), sqlTime, sqlDate);
+        assertConversion("SqlTimeToLong", new 
DateTimeConverters.SqlTimeToLong(), sqlTime, currentTime);
+        assertConversion("SqlTimeToString", new 
DateTimeConverters.SqlTimeToString(), sqlTime, sqlTime.toString());
+        // Source class = java.sql.Timestamp
         assertConversion("TimestampToDate", new 
DateTimeConverters.TimestampToDate(), timestamp, utilDate);
+        assertConversion("TimestampToLong", new 
DateTimeConverters.TimestampToLong(), timestamp, currentTime);
         assertConversion("TimestampToSqlDate", new 
DateTimeConverters.TimestampToSqlDate(), timestamp, sqlDate);
-        //assertConversion("TimestampToString", new 
DateTimeConverters.TimestampToString(), timestamp, timestamp.toString());
+        assertConversion("TimestampToString", new 
DateTimeConverters.TimestampToString(), timestamp, timestamp.toString());
+        // Source class = java.lang.String
+        assertStringConversion("StringToDate", new 
DateTimeConverters.StringToDate(), utilDate.toString(), utilDate);
+        assertStringConversion("StringToSqlDate", new 
DateTimeConverters.StringToSqlDate(), sqlDate.toString(), sqlDate);
+        assertStringConversion("StringToSqlTime", new 
DateTimeConverters.StringToSqlTime(), sqlTime.toString(), sqlTime);
+        assertStringConversion("StringToTimestamp", new 
DateTimeConverters.StringToTimestamp(), timestamp.toString(), timestamp);
+        // Source class = java.lang.Long
+        assertConversion("LongToDate", new DateTimeConverters.LongToDate(), 
currentTime, utilDate);
+        assertConversion("LongToSqlDate", new 
DateTimeConverters.LongToSqlDate(), currentTime, sqlDate);
+        assertConversion("LongToSqlTime", new 
DateTimeConverters.LongToSqlTime(), currentTime, sqlTime);
+        assertConversion("LongToTimestamp", new 
DateTimeConverters.LongToTimestamp(), currentTime, timestamp);
     }
 }


Reply via email to