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"/> |
Free forum by Nabble | Edit this page |