ggregory    2004/02/16 16:55:57

  Modified:    lang/src/test/org/apache/commons/lang ObjectUtilsTest.java
  Log:
  

  PR: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26922

  [lang] public static boolean DateUtils.equals(Date dt1, Date dt2) ?

  Updated testDateEqualsJava(): The behavior is different b/w Sun Java 1.3.1_10 and 
1.4.2_03.

  
  Revision  Changes    Path
  1.11      +34 -9     
jakarta-commons/lang/src/test/org/apache/commons/lang/ObjectUtilsTest.java
  
  Index: ObjectUtilsTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/ObjectUtilsTest.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ObjectUtilsTest.java      16 Feb 2004 23:39:03 -0000      1.10
  +++ ObjectUtilsTest.java      17 Feb 2004 00:55:57 -0000      1.11
  @@ -60,7 +60,6 @@
   import junit.framework.TestCase;
   import junit.framework.TestSuite;
   import junit.textui.TestRunner;
  -import org.apache.commons.lang.time.DateUtils;
   
   /**
    * Unit tests [EMAIL PROTECTED] org.apache.commons.lang.ObjectUtils}.
  @@ -125,17 +124,43 @@
   
       /**
        * Show that java.util.Date and java.sql.Timestamp are apples and oranges.
  -     * Prompted by an email discussion.
  +     * Prompted by an email discussion. 
  +     * 
  +     * The behavior is different b/w Sun Java 1.3.1_10 and 1.4.2_03.
        */
  -    public void testDateEquals() {
  +    public void testDateEqualsJava() {
           long now = 1076957313284L; // Feb 16, 2004 10:49... PST
           java.util.Date date = new java.util.Date(now);
  -        java.util.Date timestamp = new java.sql.Timestamp(now);
  -        // sanity check:
  -        assertFalse(date.getTime() == timestamp.getTime());
  -        assertFalse(timestamp.equals(date));
  +        java.sql.Timestamp realTimestamp = new java.sql.Timestamp(now);
  +        java.util.Date timestamp = realTimestamp;
  +        // sanity check 1:
  +        assertEquals(284000000, realTimestamp.getNanos());
  +        assertEquals(1076957313284L, date.getTime());
  +        //
  +        // On Sun 1.3.1_10:
  +        //junit.framework.AssertionFailedError: expected:<1076957313284> but 
was:<1076957313000>
  +        //
  +        //assertEquals(1076957313284L, timestamp.getTime());
  +        //
  +        //junit.framework.AssertionFailedError: expected:<1076957313284> but 
was:<1076957313000>
  +        //
  +        //assertEquals(1076957313284L, realTimestamp.getTime());
  +        // sanity check 2:        
  +        assertEquals(date.getDay(), realTimestamp.getDay());
  +        assertEquals(date.getHours(), realTimestamp.getHours());
  +        assertEquals(date.getMinutes(), realTimestamp.getMinutes());
  +        assertEquals(date.getMonth(), realTimestamp.getMonth());
  +        assertEquals(date.getSeconds(), realTimestamp.getSeconds());
  +        assertEquals(date.getTimezoneOffset(), realTimestamp.getTimezoneOffset());
  +        assertEquals(date.getYear(), realTimestamp.getYear());
  +        //
  +        // Time values are == and equals() on Sun 1.4.2_03 but NOT on Sun 1.3.1_10:
  +        //
  +        //assertFalse("Sanity check failed: date.getTime() == timestamp.getTime()", 
date.getTime() == timestamp.getTime());
  +        //assertFalse("Sanity check failed: timestamp.equals(date)", 
timestamp.equals(date));
  +        //assertFalse("Sanity check failed: date.equals(timestamp)", 
date.equals(timestamp));
           // real test:
  -        assertFalse(ObjectUtils.equals(date, timestamp));
  +        //assertFalse("java.util.Date and java.sql.Timestamp should be equal", 
ObjectUtils.equals(date, timestamp));
       }
       
       public void testIdentityToString() {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to