From 34ac48d938d5f3411505f7d0f883a585148ec716 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 08 Jan 2010 18:13:58 +0000
Subject: [PATCH] * various minor code fixes * fix unit tests * remove TODOs from Javadoc (issues are now in Issue Tracker)

---
 sdk/tests/unit-tests-testng/src/com/sun/opends/sdk/util/StaticUtilsTest.java |  130 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 130 insertions(+), 0 deletions(-)

diff --git a/sdk/tests/unit-tests-testng/src/com/sun/opends/sdk/util/StaticUtilsTest.java b/sdk/tests/unit-tests-testng/src/com/sun/opends/sdk/util/StaticUtilsTest.java
index 352cbac..b249090 100644
--- a/sdk/tests/unit-tests-testng/src/com/sun/opends/sdk/util/StaticUtilsTest.java
+++ b/sdk/tests/unit-tests-testng/src/com/sun/opends/sdk/util/StaticUtilsTest.java
@@ -29,6 +29,11 @@
 
 
 
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+
 import org.opends.sdk.OpenDSTestCase;
 import org.testng.Assert;
 import org.testng.annotations.DataProvider;
@@ -97,4 +102,129 @@
       Assert.assertEquals(actual, expected);
     }
   }
+
+
+
+  /**
+   * Create data for format(...) tests.
+   *
+   * @return Returns test data.
+   */
+  @DataProvider(name = "createFormatData")
+  public Object[][] createFormatData()
+  {
+    return new Object[][] {
+        // Note that Calendar months run from 0-11,
+        // and that there was no such year as year 0 (1 BC -> 1 AD).
+        { 1, 0, 1, 0, 0, 0, 0, "00010101000000.000Z" },
+        { 9, 0, 1, 0, 0, 0, 0, "00090101000000.000Z" },
+        { 10, 0, 1, 0, 0, 0, 0, "00100101000000.000Z" },
+        { 99, 0, 1, 0, 0, 0, 0, "00990101000000.000Z" },
+        { 100, 0, 1, 0, 0, 0, 0, "01000101000000.000Z" },
+        { 999, 0, 1, 0, 0, 0, 0, "09990101000000.000Z" },
+        { 1000, 0, 1, 0, 0, 0, 0, "10000101000000.000Z" },
+        { 2000, 0, 1, 0, 0, 0, 0, "20000101000000.000Z" },
+        { 2099, 0, 1, 0, 0, 0, 0, "20990101000000.000Z" },
+        { 2000, 8, 1, 0, 0, 0, 0, "20000901000000.000Z" },
+        { 2000, 9, 1, 0, 0, 0, 0, "20001001000000.000Z" },
+        { 2000, 10, 1, 0, 0, 0, 0, "20001101000000.000Z" },
+        { 2000, 11, 1, 0, 0, 0, 0, "20001201000000.000Z" },
+        { 2000, 0, 9, 0, 0, 0, 0, "20000109000000.000Z" },
+        { 2000, 0, 10, 0, 0, 0, 0, "20000110000000.000Z" },
+        { 2000, 0, 19, 0, 0, 0, 0, "20000119000000.000Z" },
+        { 2000, 0, 20, 0, 0, 0, 0, "20000120000000.000Z" },
+        { 2000, 0, 29, 0, 0, 0, 0, "20000129000000.000Z" },
+        { 2000, 0, 30, 0, 0, 0, 0, "20000130000000.000Z" },
+        { 2000, 0, 31, 0, 0, 0, 0, "20000131000000.000Z" },
+        { 2000, 0, 1, 9, 0, 0, 0, "20000101090000.000Z" },
+        { 2000, 0, 1, 10, 0, 0, 0, "20000101100000.000Z" },
+        { 2000, 0, 1, 19, 0, 0, 0, "20000101190000.000Z" },
+        { 2000, 0, 1, 20, 0, 0, 0, "20000101200000.000Z" },
+        { 2000, 0, 1, 23, 0, 0, 0, "20000101230000.000Z" },
+        { 2000, 0, 1, 0, 9, 0, 0, "20000101000900.000Z" },
+        { 2000, 0, 1, 0, 10, 0, 0, "20000101001000.000Z" },
+        { 2000, 0, 1, 0, 59, 0, 0, "20000101005900.000Z" },
+        { 2000, 0, 1, 0, 0, 9, 0, "20000101000009.000Z" },
+        { 2000, 0, 1, 0, 0, 10, 0, "20000101000010.000Z" },
+        { 2000, 0, 1, 0, 0, 59, 0, "20000101000059.000Z" },
+        { 2000, 0, 1, 0, 0, 0, 9, "20000101000000.009Z" },
+        { 2000, 0, 1, 0, 0, 0, 10, "20000101000000.010Z" },
+        { 2000, 0, 1, 0, 0, 0, 99, "20000101000000.099Z" },
+        { 2000, 0, 1, 0, 0, 0, 100, "20000101000000.100Z" },
+        { 2000, 0, 1, 0, 0, 0, 999, "20000101000000.999Z" }, };
+  }
+
+
+
+  /**
+   * Tests {@link StaticUtils#formatAsGeneralizedTime(long)} .
+   *
+   * @param yyyy
+   *          The year.
+   * @param MM
+   *          The month.
+   * @param dd
+   *          The day.
+   * @param HH
+   *          The hour.
+   * @param mm
+   *          The minute.
+   * @param ss
+   *          The second.
+   * @param SSS
+   *          The milli-seconds.
+   * @param expected
+   *          The expected generalized time formatted string.
+   * @throws Exception
+   *           If an unexpected error occurred.
+   */
+  @Test(dataProvider = "createFormatData")
+  public void testFormatLong(int yyyy, int MM, int dd, int HH, int mm,
+      int ss, int SSS, String expected) throws Exception
+  {
+    Calendar calendar = new GregorianCalendar(TimeZone
+        .getTimeZone("UTC"));
+    calendar.set(yyyy, MM, dd, HH, mm, ss);
+    calendar.set(Calendar.MILLISECOND, SSS);
+    long time = calendar.getTimeInMillis();
+    String actual = StaticUtils.formatAsGeneralizedTime(time);
+    Assert.assertEquals(actual, expected);
+  }
+
+
+
+  /**
+   * Tests {@link GeneralizedTimeSyntax#format(java.util.Date)}.
+   *
+   * @param yyyy
+   *          The year.
+   * @param MM
+   *          The month.
+   * @param dd
+   *          The day.
+   * @param HH
+   *          The hour.
+   * @param mm
+   *          The minute.
+   * @param ss
+   *          The second.
+   * @param SSS
+   *          The milli-seconds.
+   * @param expected
+   *          The expected generalized time formatted string.
+   * @throws Exception
+   *           If an unexpected error occurred.
+   */
+  @Test(dataProvider = "createFormatData")
+  public void testFormatDate(int yyyy, int MM, int dd, int HH, int mm,
+      int ss, int SSS, String expected) throws Exception
+  {
+    Calendar calendar = new GregorianCalendar(TimeZone
+        .getTimeZone("UTC"));
+    calendar.set(yyyy, MM, dd, HH, mm, ss);
+    calendar.set(Calendar.MILLISECOND, SSS);
+    Date time = new Date(calendar.getTimeInMillis());
+    String actual = StaticUtils.formatAsGeneralizedTime(time);
+    Assert.assertEquals(actual, expected);
+  }
 }

--
Gitblit v1.10.0