r1780 - in trunk/src: main/java/org/nuiton/util test/java/org/nuiton/util
Author: fdesbois Date: 2010-03-01 14:20:13 +0100 (Mon, 01 Mar 2010) New Revision: 1780 Modified: trunk/src/main/java/org/nuiton/util/DateUtils.java trunk/src/test/java/org/nuiton/util/DateUtilsTest.java Log: Ano #333 : Problem with equals in between method Modified: trunk/src/main/java/org/nuiton/util/DateUtils.java =================================================================== --- trunk/src/main/java/org/nuiton/util/DateUtils.java 2010-02-26 18:40:50 UTC (rev 1779) +++ trunk/src/main/java/org/nuiton/util/DateUtils.java 2010-03-01 13:20:13 UTC (rev 1780) @@ -25,6 +25,8 @@ import java.util.Calendar; import java.util.Date; import java.util.Locale; +import org.apache.commons.logging.LogFactory; +import org.apache.commons.logging.Log; /** * Library for manipulating dates. @@ -79,8 +81,7 @@ /** * Create a new date from day, month and year (French version). * The month is the real month of the year and not the one which is stored - * in Calendar object. - * + * in Calendar object. Time is set to 00:00:00.000 * @param dd value of the day 1-31 * @param mm value of the month 1-12 * @param yy value of the year 0-9999 @@ -91,7 +92,7 @@ calendar.set(Calendar.YEAR, yy); calendar.set(Calendar.MONTH, mm-1); calendar.set(Calendar.DAY_OF_MONTH, dd); - return calendar.getTime(); + return setMinTimeOfDay(calendar.getTime()); } /** @@ -183,9 +184,10 @@ if (myDate == null) { return false; } - boolean result = true; - result &= myDate.after(beforeDate) || myDate.equals(beforeDate); - result &= afterDate == null || myDate.before(afterDate) || myDate.equals(afterDate); + boolean result = true; + result &= myDate.after(beforeDate) || myDate.compareTo(beforeDate) == 0; + result &= afterDate == null || myDate.before(afterDate) || + myDate.compareTo(afterDate) == 0; return result; } Modified: trunk/src/test/java/org/nuiton/util/DateUtilsTest.java =================================================================== --- trunk/src/test/java/org/nuiton/util/DateUtilsTest.java 2010-02-26 18:40:50 UTC (rev 1779) +++ trunk/src/test/java/org/nuiton/util/DateUtilsTest.java 2010-03-01 13:20:13 UTC (rev 1780) @@ -1,6 +1,7 @@ package org.nuiton.util; +import java.util.Calendar; import java.util.Date; import java.util.Locale; import junit.framework.Assert; @@ -54,9 +55,21 @@ /** * Test of createDate method, of class DateUtils. */ - //@Test + @Test public void testCreateDate() { System.out.println("createDate"); + + Date newdate = DateUtils.createDate(3, 3, 2009); + Calendar calendar = DateUtils.getDefaultCalendar(newdate); + + Assert.assertEquals(3, calendar.get(Calendar.DAY_OF_MONTH)); + Assert.assertEquals(2, calendar.get(Calendar.MONTH)); + Assert.assertEquals(2009, calendar.get(Calendar.YEAR)); + + Assert.assertEquals(0, calendar.get(Calendar.HOUR)); + Assert.assertEquals(0, calendar.get(Calendar.MINUTE)); + Assert.assertEquals(0, calendar.get(Calendar.SECOND)); + Assert.assertEquals(0, calendar.get(Calendar.MILLISECOND)); } /** @@ -86,9 +99,42 @@ /** * Test of between method, of class DateUtils. */ - //@Test + @Test public void testBetween() { System.out.println("between"); + + Date middle = DateUtils.createDate(3, 3, 2009); + + // middle = begin, and end = null + Date begin = DateUtils.createDate(3, 3, 2009); + Date end = null; + + boolean result = DateUtils.between(middle, begin, end); + Assert.assertTrue(result); + + // middle between the period : march 2009 + PeriodDates period = new PeriodDates(begin, begin); + period.initDayOfMonthExtremities(); + + System.out.println("period : " + period); + + result = DateUtils.between(middle, period.getFromDate(), period.getThruDate()); + Assert.assertTrue(result); + + // middle = period begin + middle = DateUtils.setFirstDayOfMonth(middle); + result = DateUtils.between(middle, period.getFromDate(), period.getThruDate()); + Assert.assertTrue(result); + + // test with different implementation of Date + java.sql.Timestamp middle2 = new java.sql.Timestamp(middle.getTime()); + result = DateUtils.between(middle2, period.getFromDate(), period.getThruDate()); + Assert.assertTrue(result); + + // middle before begin + middle = DateUtils.createDate(2, 2, 2009); + result = DateUtils.between(middle, period.getFromDate(), period.getThruDate()); + Assert.assertFalse(result); } /**
participants (1)
-
fdesbois@users.nuiton.org