aboutsummaryrefslogtreecommitdiff
path: root/gnu/testlet/java/text/DateFormatSymbols/Test.java
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/testlet/java/text/DateFormatSymbols/Test.java')
-rw-r--r--gnu/testlet/java/text/DateFormatSymbols/Test.java150
1 files changed, 150 insertions, 0 deletions
diff --git a/gnu/testlet/java/text/DateFormatSymbols/Test.java b/gnu/testlet/java/text/DateFormatSymbols/Test.java
new file mode 100644
index 00000000..7636432d
--- /dev/null
+++ b/gnu/testlet/java/text/DateFormatSymbols/Test.java
@@ -0,0 +1,150 @@
+/*************************************************************************
+/* Test.java -- Test java.text.DateFormatSymbols
+/*
+/* Copyright (c) 1998, 2001 Free Software Foundation, Inc.
+/* Written by Aaron M. Renn (arenn@urbanophile.com)
+/*
+/* This program is free software; you can redistribute it and/or modify
+/* it under the terms of the GNU General Public License as published
+/* by the Free Software Foundation, either version 2 of the License, or
+/* (at your option) any later version.
+/*
+/* This program is distributed in the hope that it will be useful, but
+/* WITHOUT ANY WARRANTY; without even the implied warranty of
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/* GNU General Public License for more details.
+/*
+/* You should have received a copy of the GNU General Public License
+/* along with this program; if not, write to the Free Software Foundation
+/* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA
+/*************************************************************************/
+
+// Tags: JDK1.1
+
+package gnu.testlet.java.text.DateFormatSymbols;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+import java.text.*;
+import java.util.Locale;
+import java.util.MissingResourceException;
+
+public class Test implements Testlet
+{
+
+private String[] my_eras = { "XX", "YY" };
+private String[] my_months = { "A", "B", "C", "D" };
+private String[] my_short_months = { "a", "a", "b", "c" };
+private String[] my_weekdays = { "S", "M", "T" };
+private String[] my_short_weekdays = { "s", "m", "t" };
+private String[] my_ampms = { "aa", "pp" };
+private String[][] my_zonestrings = {{ "A", "B" }};
+private String my_patternchars = "123456789012345678";
+
+private static boolean
+arrayEquals(Object[] o1, Object[] o2)
+{
+ if (o1 == null)
+ {
+ if (o2 != null)
+ return(false);
+ }
+ else
+ if (o2 == null)
+ return(true);
+
+ // We assume ordering is important.
+ for (int i = 0; i < o1.length; i++)
+ if (o1[i] instanceof Object[])
+ {
+ if (o2[i] instanceof Object[])
+ {
+ if (!arrayEquals((Object[])o1[i], (Object[])o2[i]))
+ return(false);
+ }
+ else
+ return(false);
+ }
+ else
+ if (!o1[i].equals(o2[i]))
+ return(false);
+
+ return(true);
+}
+
+private static void
+arrayDump(TestHarness harness, Object[] o, String desc)
+{
+ harness.debug("Dumping Object Array: " + desc);
+ if (o == null)
+ {
+ harness.debug("null");
+ return;
+ }
+
+ for (int i = 0; i < o.length; i++)
+ if (o[i] instanceof Object[])
+ arrayDump(harness, (Object[])o[i], desc + " element " + i);
+ else
+ harness.debug(" Element " + i + ": " + o[i]);
+}
+
+public void
+test(TestHarness harness)
+{
+ try
+ {
+ DateFormatSymbols dfs = new DateFormatSymbols(Locale.US);
+
+ harness.debug("Dumping default symbol information");
+ arrayDump(harness, dfs.getEras(), "eras");
+ arrayDump(harness, dfs.getMonths(), "months");
+ arrayDump(harness, dfs.getShortMonths(), "short months");
+ arrayDump(harness, dfs.getWeekdays(), "weekdays");
+ arrayDump(harness, dfs.getShortWeekdays(), "short weekdays");
+ arrayDump(harness, dfs.getAmPmStrings(), "am/pm strings");
+ arrayDump(harness, dfs.getZoneStrings(), "zone string array");
+ harness.debug("local pattern chars: " + dfs.getLocalPatternChars());
+
+ dfs.setEras(my_eras);
+ harness.check(arrayEquals(dfs.getEras(), my_eras), "eras");
+
+ dfs.setMonths(my_months);
+ harness.check(arrayEquals(dfs.getMonths(), my_months), "months");
+
+ dfs.setShortMonths(my_short_months);
+ harness.check(arrayEquals(dfs.getShortMonths(), my_short_months),
+ "short months");
+
+ dfs.setWeekdays(my_weekdays);
+ harness.check(arrayEquals(dfs.getWeekdays(), my_weekdays), "weekdays");
+
+ dfs.setShortWeekdays(my_short_weekdays);
+ harness.check(arrayEquals(dfs.getShortWeekdays(), my_short_weekdays),
+ "short weekdays");
+
+ dfs.setAmPmStrings(my_ampms);
+ harness.check(arrayEquals(dfs.getAmPmStrings(), my_ampms), "am/pm");
+
+ dfs.setLocalPatternChars(my_patternchars);
+ harness.check(dfs.getLocalPatternChars(), my_patternchars, "patterns");
+
+ /* Invalid Argument */
+ boolean fail = false;
+ try {
+ dfs.setZoneStrings(my_zonestrings);
+ } catch (IllegalArgumentException e) {
+ fail = true;
+ }
+ harness.check(fail, true, "InvalidArgumentException is thrown.");
+
+ }
+ catch(MissingResourceException e)
+ {
+ harness.debug(e);
+ harness.check(false);
+ }
+}
+
+} // class Test
+