You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by gg...@apache.org on 2005/11/23 01:19:51 UTC

svn commit: r348311 - in /jakarta/commons/proper/lang/trunk/src: java/org/apache/commons/lang/time/DurationFormatUtils.java test/org/apache/commons/lang/time/DurationFormatUtilsTest.java

Author: ggregory
Date: Tue Nov 22 16:19:44 2005
New Revision: 348311

URL: http://svn.apache.org/viewcvs?rev=348311&view=rev
Log:
http://issues.apache.org/bugzilla/show_bug.cgi?id=37596
The method DurationFormatUtils.formatDurationWords incorrectly outputs numbers
ending in "1" without a plural "s" postfix for the time unit.
Added a fix and tests that "1 <unit>s" gets converted to "1 <unit>" but that "11
<unit>s" is left alone.

Modified:
    jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DurationFormatUtils.java
    jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DurationFormatUtilsTest.java

Modified: jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DurationFormatUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DurationFormatUtils.java?rev=348311&r1=348310&r2=348311&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DurationFormatUtils.java (original)
+++ jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/time/DurationFormatUtils.java Tue Nov 22 16:19:44 2005
@@ -211,11 +211,12 @@
             }
         }
         // handle plurals
-        duration = StringUtils.replaceOnce(duration, "1 seconds", "1 second");
-        duration = StringUtils.replaceOnce(duration, "1 minutes", "1 minute");
-        duration = StringUtils.replaceOnce(duration, "1 hours", "1 hour");
-        duration = StringUtils.replaceOnce(duration, "1 days", "1 day");
-        return duration;
+        duration = " " + duration;
+        duration = StringUtils.replaceOnce(duration, " 1 seconds", " 1 second");
+        duration = StringUtils.replaceOnce(duration, " 1 minutes", " 1 minute");
+        duration = StringUtils.replaceOnce(duration, " 1 hours", " 1 hour");
+        duration = StringUtils.replaceOnce(duration, " 1 days", " 1 day");
+        return duration.trim();
     }
 
     //-----------------------------------------------------------------------

Modified: jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DurationFormatUtilsTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DurationFormatUtilsTest.java?rev=348311&r1=348310&r2=348311&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DurationFormatUtilsTest.java (original)
+++ jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/time/DurationFormatUtilsTest.java Tue Nov 22 16:19:44 2005
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.commons.lang.time;
 
 import java.lang.reflect.Constructor;
@@ -27,7 +28,7 @@
 
 /**
  * TestCase for DurationFormatUtils.
- *
+ * 
  * @author Apache Ant - DateUtilsTest
  * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
  * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a>
@@ -51,7 +52,7 @@
         super(s);
     }
 
-    //-----------------------------------------------------------------------
+    // -----------------------------------------------------------------------
     public void testConstructor() {
         assertNotNull(new DurationFormatUtils());
         Constructor[] cons = DurationFormatUtils.class.getDeclaredConstructors();
@@ -60,89 +61,162 @@
         assertEquals(true, Modifier.isPublic(DurationFormatUtils.class.getModifiers()));
         assertEquals(false, Modifier.isFinal(DurationFormatUtils.class.getModifiers()));
     }
-    
-    //-----------------------------------------------------------------------
-    public void testFormatDurationWords(){
+
+    // -----------------------------------------------------------------------
+    public void testFormatDurationWords() {
         String text = null;
-        
-        text = DurationFormatUtils.formatDurationWords(50*1000, true, false);
+
+        text = DurationFormatUtils.formatDurationWords(50 * 1000, true, false);
         assertEquals("50 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(65*1000, true, false);
+        text = DurationFormatUtils.formatDurationWords(65 * 1000, true, false);
         assertEquals("1 minute 5 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(120*1000, true, false);
+        text = DurationFormatUtils.formatDurationWords(120 * 1000, true, false);
         assertEquals("2 minutes 0 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(121*1000, true, false);
+        text = DurationFormatUtils.formatDurationWords(121 * 1000, true, false);
         assertEquals("2 minutes 1 second", text);
-        text = DurationFormatUtils.formatDurationWords(72*60*1000, true, false);
+        text = DurationFormatUtils.formatDurationWords(72 * 60 * 1000, true, false);
         assertEquals("1 hour 12 minutes 0 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(24*60*60*1000, true, false);
+        text = DurationFormatUtils.formatDurationWords(24 * 60 * 60 * 1000, true, false);
         assertEquals("1 day 0 hours 0 minutes 0 seconds", text);
-        
-        text = DurationFormatUtils.formatDurationWords(50*1000, true, true);
+
+        text = DurationFormatUtils.formatDurationWords(50 * 1000, true, true);
         assertEquals("50 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(65*1000, true, true);
+        text = DurationFormatUtils.formatDurationWords(65 * 1000, true, true);
         assertEquals("1 minute 5 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(120*1000, true, true);
+        text = DurationFormatUtils.formatDurationWords(120 * 1000, true, true);
         assertEquals("2 minutes", text);
-        text = DurationFormatUtils.formatDurationWords(121*1000, true, true);
+        text = DurationFormatUtils.formatDurationWords(121 * 1000, true, true);
         assertEquals("2 minutes 1 second", text);
-        text = DurationFormatUtils.formatDurationWords(72*60*1000, true, true);
+        text = DurationFormatUtils.formatDurationWords(72 * 60 * 1000, true, true);
         assertEquals("1 hour 12 minutes", text);
-        text = DurationFormatUtils.formatDurationWords(24*60*60*1000, true, true);
+        text = DurationFormatUtils.formatDurationWords(24 * 60 * 60 * 1000, true, true);
         assertEquals("1 day", text);
-        
-        text = DurationFormatUtils.formatDurationWords(50*1000, false, true);
+
+        text = DurationFormatUtils.formatDurationWords(50 * 1000, false, true);
         assertEquals("0 days 0 hours 0 minutes 50 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(65*1000, false, true);
+        text = DurationFormatUtils.formatDurationWords(65 * 1000, false, true);
         assertEquals("0 days 0 hours 1 minute 5 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(120*1000, false, true);
+        text = DurationFormatUtils.formatDurationWords(120 * 1000, false, true);
         assertEquals("0 days 0 hours 2 minutes", text);
-        text = DurationFormatUtils.formatDurationWords(121*1000, false, true);
+        text = DurationFormatUtils.formatDurationWords(121 * 1000, false, true);
         assertEquals("0 days 0 hours 2 minutes 1 second", text);
-        text = DurationFormatUtils.formatDurationWords(72*60*1000, false, true);
+        text = DurationFormatUtils.formatDurationWords(72 * 60 * 1000, false, true);
         assertEquals("0 days 1 hour 12 minutes", text);
-        text = DurationFormatUtils.formatDurationWords(24*60*60*1000, false, true);
+        text = DurationFormatUtils.formatDurationWords(24 * 60 * 60 * 1000, false, true);
         assertEquals("1 day", text);
-        
-        text = DurationFormatUtils.formatDurationWords(50*1000, false, false);
+
+        text = DurationFormatUtils.formatDurationWords(50 * 1000, false, false);
         assertEquals("0 days 0 hours 0 minutes 50 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(65*1000, false, false);
+        text = DurationFormatUtils.formatDurationWords(65 * 1000, false, false);
         assertEquals("0 days 0 hours 1 minute 5 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(120*1000, false, false);
+        text = DurationFormatUtils.formatDurationWords(120 * 1000, false, false);
         assertEquals("0 days 0 hours 2 minutes 0 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(121*1000, false, false);
+        text = DurationFormatUtils.formatDurationWords(121 * 1000, false, false);
         assertEquals("0 days 0 hours 2 minutes 1 second", text);
-        text = DurationFormatUtils.formatDurationWords(72*60*1000, false, false);
+        text = DurationFormatUtils.formatDurationWords(72 * 60 * 1000, false, false);
         assertEquals("0 days 1 hour 12 minutes 0 seconds", text);
-        text = DurationFormatUtils.formatDurationWords(48*60*60*1000 + 72*60*1000 , false, false);
+        text = DurationFormatUtils.formatDurationWords(24 * 60 * 60 * 1000 + 72 * 60 * 1000, false, false);
+        assertEquals("1 day 1 hour 12 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(2 * 24 * 60 * 60 * 1000 + 72 * 60 * 1000, false, false);
         assertEquals("2 days 1 hour 12 minutes 0 seconds", text);
+        for (int i = 2; i < 31; i++) {
+            text = DurationFormatUtils.formatDurationWords(i * 24 * 60 * 60 * 1000, false, false);
+            // assertEquals(i + " days 0 hours 0 minutes 0 seconds", text);
+            //            
+            // junit.framework.ComparisonFailure: expected:<25 days 0 hours 0 minutes 0...> but was:<-24 days -17 hours
+            // -2 minutes -47...>
+            // at junit.framework.Assert.assertEquals(Assert.java:81)
+            // at junit.framework.Assert.assertEquals(Assert.java:87)
+            // at
+            // org.apache.commons.lang.time.DurationFormatUtilsTest.testFormatDurationWords(DurationFormatUtilsTest.java:124)
+            // at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+            // at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+            // at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+            // at java.lang.reflect.Method.invoke(Method.java:324)
+            // at junit.framework.TestCase.runTest(TestCase.java:154)
+            // at junit.framework.TestCase.runBare(TestCase.java:127)
+            // at junit.framework.TestResult$1.protect(TestResult.java:106)
+            // at junit.framework.TestResult.runProtected(TestResult.java:124)
+            // at junit.framework.TestResult.run(TestResult.java:109)
+            // at junit.framework.TestCase.run(TestCase.java:118)
+            // at junit.framework.TestSuite.runTest(TestSuite.java:208)
+            // at junit.framework.TestSuite.run(TestSuite.java:203)
+            // at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
+            // at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
+            // at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
+        }
+    }
+
+    /**
+     * Tests that "1 <unit>s" gets converted to "1 <unit>" but that "11 <unit>s" is left alone.
+     */
+    public void testFormatDurationPluralWords() {
+        long oneSecond = 1000;
+        long oneMinute = oneSecond * 60;
+        long oneHour = oneMinute * 60;
+        long oneDay = oneHour * 24;
+        String text = null;
+
+        text = DurationFormatUtils.formatDurationWords(oneSecond, false, false);
+        assertEquals("0 days 0 hours 0 minutes 1 second", text);
+        text = DurationFormatUtils.formatDurationWords(oneSecond * 2, false, false);
+        assertEquals("0 days 0 hours 0 minutes 2 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneSecond * 11, false, false);
+        assertEquals("0 days 0 hours 0 minutes 11 seconds", text);
+
+        text = DurationFormatUtils.formatDurationWords(oneMinute, false, false);
+        assertEquals("0 days 0 hours 1 minute 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneMinute * 2, false, false);
+        assertEquals("0 days 0 hours 2 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneMinute * 11, false, false);
+        assertEquals("0 days 0 hours 11 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneMinute + oneSecond, false, false);
+        assertEquals("0 days 0 hours 1 minute 1 second", text);
+
+        text = DurationFormatUtils.formatDurationWords(oneHour, false, false);
+        assertEquals("0 days 1 hour 0 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneHour * 2, false, false);
+        assertEquals("0 days 2 hours 0 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneHour * 11, false, false);
+        assertEquals("0 days 11 hours 0 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneHour + oneMinute + oneSecond, false, false);
+        assertEquals("0 days 1 hour 1 minute 1 second", text);
+
+        text = DurationFormatUtils.formatDurationWords(oneDay, false, false);
+        assertEquals("1 day 0 hours 0 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneDay * 2, false, false);
+        assertEquals("2 days 0 hours 0 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneDay * 11, false, false);
+        assertEquals("11 days 0 hours 0 minutes 0 seconds", text);
+        text = DurationFormatUtils.formatDurationWords(oneDay + oneHour + oneMinute + oneSecond, false, false);
+        assertEquals("1 day 1 hour 1 minute 1 second", text);
     }
 
-    public void testFormatDurationHMS(){
+    public void testFormatDurationHMS() {
         long time = 0;
         assertEquals("0:00:00.000", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 1;
         assertEquals("0:00:00.001", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 15;
         assertEquals("0:00:00.015", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 165;
         assertEquals("0:00:00.165", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 1675;
         assertEquals("0:00:01.675", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 13465;
         assertEquals("0:00:13.465", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 72789;
         assertEquals("0:01:12.789", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 12789 + 32 * 60000;
         assertEquals("0:32:12.789", DurationFormatUtils.formatDurationHMS(time));
-        
+
         time = 12789 + 62 * 60000;
         assertEquals("1:02:12.789", DurationFormatUtils.formatDurationHMS(time));
     }
@@ -157,31 +231,31 @@
 
     public void testFormatDuration() {
         long duration = 0;
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "y") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "M") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "d") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "H") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "m") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "s") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "S") );
-        assertEquals( "0000", DurationFormatUtils.formatDuration(duration, "SSSS") );
-        assertEquals( "0000", DurationFormatUtils.formatDuration(duration, "yyyy") );
-        assertEquals( "0000", DurationFormatUtils.formatDuration(duration, "yyMM") );
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "y"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "M"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "d"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "H"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "m"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "s"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "S"));
+        assertEquals("0000", DurationFormatUtils.formatDuration(duration, "SSSS"));
+        assertEquals("0000", DurationFormatUtils.formatDuration(duration, "yyyy"));
+        assertEquals("0000", DurationFormatUtils.formatDuration(duration, "yyMM"));
 
         duration = 60 * 1000;
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "y") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "M") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "d") );
-        assertEquals( "0", DurationFormatUtils.formatDuration(duration, "H") );
-        assertEquals( "1", DurationFormatUtils.formatDuration(duration, "m") );
-        assertEquals( "60", DurationFormatUtils.formatDuration(duration, "s") );
-        assertEquals( "60000", DurationFormatUtils.formatDuration(duration, "S") );
-        assertEquals( "01:00", DurationFormatUtils.formatDuration(duration, "mm:ss") );
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "y"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "M"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "d"));
+        assertEquals("0", DurationFormatUtils.formatDuration(duration, "H"));
+        assertEquals("1", DurationFormatUtils.formatDuration(duration, "m"));
+        assertEquals("60", DurationFormatUtils.formatDuration(duration, "s"));
+        assertEquals("60000", DurationFormatUtils.formatDuration(duration, "S"));
+        assertEquals("01:00", DurationFormatUtils.formatDuration(duration, "mm:ss"));
 
         Calendar base = Calendar.getInstance();
         base.set(2000, 0, 1, 0, 0, 0);
         base.set(Calendar.MILLISECOND, 0);
-        
+
         Calendar cal = Calendar.getInstance();
         cal.set(2003, 1, 1, 0, 0, 0);
         cal.set(Calendar.MILLISECOND, 0);
@@ -189,15 +263,15 @@
         // don't use 1970 in test as time zones were less reliable in 1970 than now
         // remember that duration formatting ignores time zones, working on strict hour lengths
         int days = 366 + 365 + 365 + 31;
-        assertEquals( "0 0 " + days, DurationFormatUtils.formatDuration(duration, "y M d") );
+        assertEquals("0 0 " + days, DurationFormatUtils.formatDuration(duration, "y M d"));
     }
 
-    public void testFormatPeriodISO(){
+    public void testFormatPeriodISO() {
         TimeZone timeZone = TimeZone.getTimeZone("GMT-3");
         Calendar base = Calendar.getInstance(timeZone);
         base.set(1970, 0, 1, 0, 0, 0);
         base.set(Calendar.MILLISECOND, 0);
-        
+
         Calendar cal = Calendar.getInstance(timeZone);
         cal.set(2002, 1, 23, 9, 11, 12);
         cal.set(Calendar.MILLISECOND, 1);
@@ -206,15 +280,17 @@
         text = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(cal);
         assertEquals("2002-02-23T09:11:12-03:00", text);
         // test fixture is the same as above, but now with extended format.
-        text = DurationFormatUtils.formatPeriod(base.getTime().getTime(), cal.getTime().getTime(), DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN, false, timeZone);
+        text = DurationFormatUtils.formatPeriod(base.getTime().getTime(), cal.getTime().getTime(),
+                DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN, false, timeZone);
         assertEquals("P32Y1M22DT9H11M12.001S", text);
         // test fixture from example in http://www.w3.org/TR/xmlschema-2/#duration
         cal.set(1971, 1, 3, 10, 30, 0);
         cal.set(Calendar.MILLISECOND, 0);
-        text = DurationFormatUtils.formatPeriod(base.getTime().getTime(), cal.getTime().getTime(), DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN, false, timeZone);
+        text = DurationFormatUtils.formatPeriod(base.getTime().getTime(), cal.getTime().getTime(),
+                DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN, false, timeZone);
         assertEquals("P1Y1M2DT10H30M0.000S", text);
         // want a way to say 'don't print the seconds in format()' or other fields for that matter:
-        //assertEquals("P1Y2M3DT10H30M", text);
+        // assertEquals("P1Y2M3DT10H30M", text);
     }
 
     public void testFormatPeriod() {
@@ -222,119 +298,109 @@
         cal1970.set(1970, 0, 1, 0, 0, 0);
         cal1970.set(Calendar.MILLISECOND, 0);
         long time1970 = cal1970.getTime().getTime();
-        
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "y") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "M") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "d") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "H") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "m") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "s") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time1970, "S") );
-        assertEquals( "0000", DurationFormatUtils.formatPeriod(time1970, time1970, "SSSS") );
-        assertEquals( "0000", DurationFormatUtils.formatPeriod(time1970, time1970, "yyyy") );
-        assertEquals( "0000", DurationFormatUtils.formatPeriod(time1970, time1970, "yyMM") );
+
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "y"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "M"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "d"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "H"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "m"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "s"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time1970, "S"));
+        assertEquals("0000", DurationFormatUtils.formatPeriod(time1970, time1970, "SSSS"));
+        assertEquals("0000", DurationFormatUtils.formatPeriod(time1970, time1970, "yyyy"));
+        assertEquals("0000", DurationFormatUtils.formatPeriod(time1970, time1970, "yyMM"));
 
         long time = time1970 + 60 * 1000;
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time, "y") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time, "M") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time, "d") );
-        assertEquals( "0", DurationFormatUtils.formatPeriod(time1970, time, "H") );
-        assertEquals( "1", DurationFormatUtils.formatPeriod(time1970, time, "m") );
-        assertEquals( "60", DurationFormatUtils.formatPeriod(time1970, time, "s") );
-        assertEquals( "60000", DurationFormatUtils.formatPeriod(time1970, time, "S") );
-        assertEquals( "01:00", DurationFormatUtils.formatPeriod(time1970, time, "mm:ss") );
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time, "y"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time, "M"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time, "d"));
+        assertEquals("0", DurationFormatUtils.formatPeriod(time1970, time, "H"));
+        assertEquals("1", DurationFormatUtils.formatPeriod(time1970, time, "m"));
+        assertEquals("60", DurationFormatUtils.formatPeriod(time1970, time, "s"));
+        assertEquals("60000", DurationFormatUtils.formatPeriod(time1970, time, "S"));
+        assertEquals("01:00", DurationFormatUtils.formatPeriod(time1970, time, "mm:ss"));
 
         Calendar cal = Calendar.getInstance();
         cal.set(1973, 6, 1, 0, 0, 0);
         cal.set(Calendar.MILLISECOND, 0);
         time = cal.getTime().getTime();
-        assertEquals( "36", DurationFormatUtils.formatPeriod(time1970, time, "yM") );
-        assertEquals( "3 years 6 months", DurationFormatUtils.formatPeriod(time1970, time, "y' years 'M' months'") );
-        assertEquals( "03/06", DurationFormatUtils.formatPeriod(time1970, time, "yy/MM") );
+        assertEquals("36", DurationFormatUtils.formatPeriod(time1970, time, "yM"));
+        assertEquals("3 years 6 months", DurationFormatUtils.formatPeriod(time1970, time, "y' years 'M' months'"));
+        assertEquals("03/06", DurationFormatUtils.formatPeriod(time1970, time, "yy/MM"));
 
         cal.set(1973, 10, 1, 0, 0, 0);
         cal.set(Calendar.MILLISECOND, 0);
         time = cal.getTime().getTime();
-        assertEquals( "310", DurationFormatUtils.formatPeriod(time1970, time, "yM") );
-        assertEquals( "3 years 10 months", DurationFormatUtils.formatPeriod(time1970, time, "y' years 'M' months'") );
-        assertEquals( "03/10", DurationFormatUtils.formatPeriod(time1970, time, "yy/MM") );
+        assertEquals("310", DurationFormatUtils.formatPeriod(time1970, time, "yM"));
+        assertEquals("3 years 10 months", DurationFormatUtils.formatPeriod(time1970, time, "y' years 'M' months'"));
+        assertEquals("03/10", DurationFormatUtils.formatPeriod(time1970, time, "yy/MM"));
 
         cal.set(1974, 0, 1, 0, 0, 0);
         cal.set(Calendar.MILLISECOND, 0);
         time = cal.getTime().getTime();
-        assertEquals( "40", DurationFormatUtils.formatPeriod(time1970, time, "yM") );
-        assertEquals( "4 years 0 months", DurationFormatUtils.formatPeriod(time1970, time, "y' years 'M' months'") );
-        assertEquals( "04/00", DurationFormatUtils.formatPeriod(time1970, time, "yy/MM") );
-        assertEquals( "48", DurationFormatUtils.formatPeriod(time1970, time, "M") );
-        assertEquals( "48", DurationFormatUtils.formatPeriod(time1970, time, "MM") );
-        assertEquals( "048", DurationFormatUtils.formatPeriod(time1970, time, "MMM") );
+        assertEquals("40", DurationFormatUtils.formatPeriod(time1970, time, "yM"));
+        assertEquals("4 years 0 months", DurationFormatUtils.formatPeriod(time1970, time, "y' years 'M' months'"));
+        assertEquals("04/00", DurationFormatUtils.formatPeriod(time1970, time, "yy/MM"));
+        assertEquals("48", DurationFormatUtils.formatPeriod(time1970, time, "M"));
+        assertEquals("48", DurationFormatUtils.formatPeriod(time1970, time, "MM"));
+        assertEquals("048", DurationFormatUtils.formatPeriod(time1970, time, "MMM"));
     }
 
     public void testLexx() {
         // tests each constant
-        assertArrayEquals( 
-          new DurationFormatUtils.Token[] { 
-            new DurationFormatUtils.Token( DurationFormatUtils.y, 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.M, 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.d, 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.H, 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.m, 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.s, 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.S, 1)
-          }, DurationFormatUtils.lexx("yMdHmsS") 
-        );
+        assertArrayEquals(new DurationFormatUtils.Token[]{
+            new DurationFormatUtils.Token(DurationFormatUtils.y, 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.M, 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.d, 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.H, 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.m, 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.s, 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.S, 1)}, DurationFormatUtils.lexx("yMdHmsS"));
 
         // tests the ISO8601-like
-        assertArrayEquals( 
-          new DurationFormatUtils.Token[] { 
-            new DurationFormatUtils.Token( DurationFormatUtils.H, 1),
-            new DurationFormatUtils.Token( new StringBuffer(":"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.m, 2),
-            new DurationFormatUtils.Token( new StringBuffer(":"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.s, 2),
-            new DurationFormatUtils.Token( new StringBuffer("."), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.S, 3)
-          }, DurationFormatUtils.lexx("H:mm:ss.SSS")
-        );
+        assertArrayEquals(new DurationFormatUtils.Token[]{
+            new DurationFormatUtils.Token(DurationFormatUtils.H, 1),
+            new DurationFormatUtils.Token(new StringBuffer(":"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.m, 2),
+            new DurationFormatUtils.Token(new StringBuffer(":"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.s, 2),
+            new DurationFormatUtils.Token(new StringBuffer("."), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.S, 3)}, DurationFormatUtils.lexx("H:mm:ss.SSS"));
 
         // test the iso extended format
-        assertArrayEquals( 
-          new DurationFormatUtils.Token[] { 
-            new DurationFormatUtils.Token( new StringBuffer("P"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.y, 4),
-            new DurationFormatUtils.Token( new StringBuffer("Y"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.M, 1),
-            new DurationFormatUtils.Token( new StringBuffer("M"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.d, 1),
-            new DurationFormatUtils.Token( new StringBuffer("DT"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.H, 1),
-            new DurationFormatUtils.Token( new StringBuffer("H"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.m, 1),
-            new DurationFormatUtils.Token( new StringBuffer("M"), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.s, 1),
-            new DurationFormatUtils.Token( new StringBuffer("."), 1),
-            new DurationFormatUtils.Token( DurationFormatUtils.S, 1),
-            new DurationFormatUtils.Token( new StringBuffer("S"), 1)
-          }, 
-          DurationFormatUtils.lexx(DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN)
-        );
+        assertArrayEquals(new DurationFormatUtils.Token[]{
+            new DurationFormatUtils.Token(new StringBuffer("P"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.y, 4),
+            new DurationFormatUtils.Token(new StringBuffer("Y"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.M, 1),
+            new DurationFormatUtils.Token(new StringBuffer("M"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.d, 1),
+            new DurationFormatUtils.Token(new StringBuffer("DT"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.H, 1),
+            new DurationFormatUtils.Token(new StringBuffer("H"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.m, 1),
+            new DurationFormatUtils.Token(new StringBuffer("M"), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.s, 1),
+            new DurationFormatUtils.Token(new StringBuffer("."), 1),
+            new DurationFormatUtils.Token(DurationFormatUtils.S, 1),
+            new DurationFormatUtils.Token(new StringBuffer("S"), 1)}, DurationFormatUtils
+                .lexx(DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN));
 
         // test failures in equals
-        DurationFormatUtils.Token token = new DurationFormatUtils.Token( DurationFormatUtils.y, 4 );
-        assertFalse( "Token equal to non-Token class. ", token.equals(new Object()) );
-        assertFalse( "Token equal to Token with wrong value class. ", token.equals(
-            new DurationFormatUtils.Token( new Object() )
-        ) );
-        assertFalse( "Token equal to Token with different count. ", token.equals(
-            new DurationFormatUtils.Token( DurationFormatUtils.y, 1 )
-        ) );
-        DurationFormatUtils.Token numToken = new DurationFormatUtils.Token( new Integer(1), 4 );
-        assertTrue( "Token with Number value not equal to itself. ", numToken.equals( numToken ) );
+        DurationFormatUtils.Token token = new DurationFormatUtils.Token(DurationFormatUtils.y, 4);
+        assertFalse("Token equal to non-Token class. ", token.equals(new Object()));
+        assertFalse("Token equal to Token with wrong value class. ", token.equals(new DurationFormatUtils.Token(
+                new Object())));
+        assertFalse("Token equal to Token with different count. ", token.equals(new DurationFormatUtils.Token(
+                DurationFormatUtils.y, 1)));
+        DurationFormatUtils.Token numToken = new DurationFormatUtils.Token(new Integer(1), 4);
+        assertTrue("Token with Number value not equal to itself. ", numToken.equals(numToken));
     }
+
     private void assertArrayEquals(DurationFormatUtils.Token[] obj1, DurationFormatUtils.Token[] obj2) {
-        assertEquals( "Arrays are unequal length. ", obj1.length, obj2.length );
-        for(int i=0; i<obj1.length; i++) {
-            assertTrue( "Index " + i + " not equal, " + obj1[i] + " vs " + obj2, obj1[i].equals(obj2[i]));
+        assertEquals("Arrays are unequal length. ", obj1.length, obj2.length);
+        for (int i = 0; i < obj1.length; i++) {
+            assertTrue("Index " + i + " not equal, " + obj1[i] + " vs " + obj2, obj1[i].equals(obj2[i]));
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org