Author: mthl
Date: Sat May 25 14:18:19 2019
New Revision: 1859977

URL: http://svn.apache.org/viewvc?rev=1859977&view=rev
Log:
Improved: Turn ‘DateTimeTests’ into a unit test class
(OFBIZ-11067)

Added:
    
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/
    
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
   (with props)
Removed:
    
ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/conversion/test/DateTimeTests.java
Modified:
    ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml

Added: 
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java?rev=1859977&view=auto
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
 (added)
+++ 
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
 Sat May 25 14:18:19 2019
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ofbiz.base.conversion;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.ofbiz.base.conversion.Converter;
+import org.apache.ofbiz.base.conversion.DateTimeConverters;
+import org.junit.Test;
+
+import com.ibm.icu.util.Calendar;
+
+public class DateTimeTests {
+
+    private static <S, T> void assertConversion(String label, Converter<S, T> 
converter, S source, T target) throws Exception {
+        assertTrue(label + " can convert", 
converter.canConvert(source.getClass(), target.getClass()));
+        assertEquals(label + " converted", target, converter.convert(source));
+    }
+
+    @Test
+    public void testDateTimeConverters() throws Exception {
+        Calendar cal = Calendar.getInstance();
+        long currentTime = cal.getTimeInMillis();
+        cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), 
cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+        long longTime = cal.getTimeInMillis(); // Start of day today
+        assertNotEquals("currentTime and longTime are not equal", currentTime, 
longTime);
+        java.util.Date utilDate = new java.util.Date(longTime);
+        java.sql.Date sqlDate = new java.sql.Date(longTime);
+        java.sql.Timestamp timestamp = new java.sql.Timestamp(longTime);
+        // Source class = java.util.Date
+        assertConversion("DateToLong", new DateTimeConverters.DateToLong(), 
utilDate, longTime);
+        assertConversion("DateToSqlDate", new 
DateTimeConverters.DateToSqlDate(), utilDate, new java.sql.Date(longTime));
+        assertConversion("DateToString", new 
DateTimeConverters.DateToString(), utilDate, utilDate.toString());
+        assertConversion("DateToTimestamp", new 
DateTimeConverters.DateToTimestamp(), utilDate, timestamp);
+        // Source class = java.sql.Date
+        assertConversion("SqlDateToLong", new DateTimeConverters.DateToLong(), 
sqlDate, longTime);
+        assertConversion("SqlDateToDate", new 
DateTimeConverters.SqlDateToDate(), sqlDate, utilDate);
+        assertConversion("SqlDateToString", new 
DateTimeConverters.SqlDateToString(), sqlDate, sqlDate.toString());
+        assertConversion("SqlDateToTimestamp", new 
DateTimeConverters.SqlDateToTimestamp(), sqlDate, timestamp);
+        // Source class = java.sql.Timestamp
+        assertConversion("TimestampToLong", new 
DateTimeConverters.DateToLong(), timestamp, longTime);
+        assertConversion("TimestampToDate", new 
DateTimeConverters.TimestampToDate(), timestamp, utilDate);
+        assertConversion("TimestampToSqlDate", new 
DateTimeConverters.TimestampToSqlDate(), timestamp, sqlDate);
+        assertConversion("TimestampToString", new 
DateTimeConverters.TimestampToString(), timestamp, timestamp.toString());
+        // Source class = java.lang.Long
+        assertConversion("LongToDate", new DateTimeConverters.NumberToDate(), 
longTime, utilDate);
+        assertConversion("LongToSqlDate", new 
DateTimeConverters.NumberToSqlDate(), longTime, sqlDate);
+        assertConversion("LongToSqlDate", new 
DateTimeConverters.NumberToSqlDate(), currentTime, sqlDate); //Test conversion 
to start of day
+        assertConversion("LongToTimestamp", new 
DateTimeConverters.NumberToTimestamp(), longTime, timestamp);
+        // Source class = java.lang.String
+        assertConversion("StringToTimestamp", new 
DateTimeConverters.StringToTimestamp(), timestamp.toString(), timestamp);
+    }
+}

Propchange: 
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/ofbiz-framework/trunk/framework/base/src/test/java/org/apache/ofbiz/base/conversion/DateTimeTests.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml?rev=1859977&r1=1859976&r2=1859977&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml Sat May 25 
14:18:19 2019
@@ -34,7 +34,6 @@
         <junit-test-suite 
class-name="org.apache.ofbiz.base.util.collections.test.FlexibleMapAccessorTests"/>
         <junit-test-suite 
class-name="org.apache.ofbiz.base.util.test.TimeDurationTests"/>
         <junit-test-suite 
class-name="org.apache.ofbiz.base.util.cache.test.UtilCacheTests"/>
-        <junit-test-suite 
class-name="org.apache.ofbiz.base.conversion.test.DateTimeTests"/>
         <junit-test-suite 
class-name="org.apache.ofbiz.base.conversion.test.MiscTests"/>
         <junit-test-suite 
class-name="org.apache.ofbiz.base.conversion.test.TestBooleanConverters"/>
         <junit-test-suite 
class-name="org.apache.ofbiz.base.conversion.test.TestJSONConverters"/>


Reply via email to