From a0e09cfa9435751f687e25d263541d9fa08e987c Mon Sep 17 00:00:00 2001 From: Doug Felt Date: Wed, 18 Dec 2002 21:20:52 +0000 Subject: [PATCH] ICU-2180 API method coverage X-SVN-Rev: 10734 --- .../icu/dev/test/calendar/HolidayTest.java | 15 ++++++--- .../icu/dev/test/format/DateFormatTest.java | 31 +++++++++++++++++-- .../com/ibm/icu/dev/test/format/RbnfTest.java | 21 +++++++++++-- icu4j/src/com/ibm/icu/text/DateFormat.java | 2 ++ .../com/ibm/icu/text/DateFormatSymbols.java | 6 ++-- icu4j/src/com/ibm/icu/util/RangeDateRule.java | 7 +++-- 6 files changed, 68 insertions(+), 14 deletions(-) diff --git a/icu4j/src/com/ibm/icu/dev/test/calendar/HolidayTest.java b/icu4j/src/com/ibm/icu/dev/test/calendar/HolidayTest.java index 7e439a2c632..21dbab6543a 100644 --- a/icu4j/src/com/ibm/icu/dev/test/calendar/HolidayTest.java +++ b/icu4j/src/com/ibm/icu/dev/test/calendar/HolidayTest.java @@ -5,8 +5,8 @@ ******************************************************************************* * * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/dev/test/calendar/HolidayTest.java,v $ - * $Date: 2002/12/11 23:30:38 $ - * $Revision: 1.2 $ + * $Date: 2002/12/18 21:20:52 $ + * $Revision: 1.3 $ * ***************************************************************************************** */ @@ -20,9 +20,12 @@ import com.ibm.icu.dev.test.TestFmwk; import com.ibm.icu.impl.LocaleUtility; import com.ibm.icu.text.DateFormat; import com.ibm.icu.util.Calendar; +import com.ibm.icu.util.EasterHoliday; import com.ibm.icu.util.GregorianCalendar; import com.ibm.icu.util.Holiday; -import com.ibm.icu.util.EasterHoliday; +import com.ibm.icu.util.RangeDateRule; +import com.ibm.icu.util.SimpleDateRule; +import com.ibm.icu.util.SimpleHoliday; import com.ibm.icu.util.TimeZone; /** @@ -127,7 +130,11 @@ public class HolidayTest extends TestFmwk { } public void TestCoverage(){ - Holiday[] h = { new EasterHoliday("Ram's Easter")}; + Holiday[] h = { new EasterHoliday("Ram's Easter"), + new SimpleHoliday(2, 29, 0, "Leap year", 1900, 2100)}; exerciseHolidays(h, Locale.getDefault()); + + RangeDateRule rdr = new RangeDateRule(); + rdr.add(new SimpleDateRule(7, 15)); } } diff --git a/icu4j/src/com/ibm/icu/dev/test/format/DateFormatTest.java b/icu4j/src/com/ibm/icu/dev/test/format/DateFormatTest.java index c046c994a1a..5bcb72a8d27 100755 --- a/icu4j/src/com/ibm/icu/dev/test/format/DateFormatTest.java +++ b/icu4j/src/com/ibm/icu/dev/test/format/DateFormatTest.java @@ -4,8 +4,8 @@ * others. All Rights Reserved. * ******************************************************************************* * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/dev/test/format/DateFormatTest.java,v $ - * $Date: 2002/08/22 21:55:51 $ - * $Revision: 1.9 $ + * $Date: 2002/12/18 21:20:52 $ + * $Revision: 1.10 $ * ***************************************************************************************** */ @@ -20,7 +20,9 @@ package com.ibm.icu.dev.test.format; import com.ibm.icu.lang.*; import com.ibm.icu.text.*; import com.ibm.icu.util.*; +import com.ibm.icu.impl.*; import java.util.Date; +import java.util.ResourceBundle; import java.text.ParseException; import java.text.ParsePosition; import java.util.Locale; @@ -879,4 +881,29 @@ public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk { } } } + + public void TestCoverage() { + Date now = new Date(); + Calendar cal = new GregorianCalendar(); + DateFormat f = DateFormat.getTimeInstance(); + logln("time: " + f.format(now)); + + int hash = f.hashCode(); // sigh, everyone overrides this + + f = DateFormat.getInstance(cal); + logln("time again: " + f.format(now)); + + f = DateFormat.getTimeInstance(cal, f.FULL); + logln("time yet again: " + f.format(now)); + + ResourceBundle rb = ICULocaleData.getLocaleElements("de_DE"); + DateFormatSymbols sym = new DateFormatSymbols(rb, Locale.GERMANY); + DateFormatSymbols sym2 = (DateFormatSymbols)sym.clone(); + if (sym.hashCode() != sym2.hashCode()) { + errln("fail, date format symbols hashcode not equal"); + } + if (!sym.equals(sym2)) { + errln("fail, date format symbols not equal"); + } + } } diff --git a/icu4j/src/com/ibm/icu/dev/test/format/RbnfTest.java b/icu4j/src/com/ibm/icu/dev/test/format/RbnfTest.java index a879060f6fd..9e9b53d5881 100755 --- a/icu4j/src/com/ibm/icu/dev/test/format/RbnfTest.java +++ b/icu4j/src/com/ibm/icu/dev/test/format/RbnfTest.java @@ -5,8 +5,8 @@ ******************************************************************************* * * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/dev/test/format/RbnfTest.java,v $ - * $Date: 2002/12/02 17:09:58 $ - * $Revision: 1.14 $ + * $Date: 2002/12/18 21:20:52 $ + * $Revision: 1.15 $ * ***************************************************************************************** */ @@ -15,6 +15,8 @@ package com.ibm.icu.dev.test.format; import com.ibm.icu.text.RuleBasedNumberFormat; import com.ibm.icu.dev.test.TestFmwk; +import java.math.BigInteger; +import java.math.BigDecimal; import java.util.Locale; import java.text.NumberFormat; @@ -628,6 +630,8 @@ public class RbnfTest extends TestFmwk { String[][] testData = { { "0", "0" }, + { "1", "1" }, + { "10", "10" }, { ".1", "1/10" }, { ".11", "1/9" }, { ".125", "1/8" }, @@ -712,6 +716,19 @@ public class RbnfTest extends TestFmwk { doTest(formatter, testDataYear, true); } + public void TestBigNumbers() { + BigInteger bigI = new BigInteger("1234567890", 10); + StringBuffer buf = new StringBuffer(); + RuleBasedNumberFormat fmt = new RuleBasedNumberFormat(RuleBasedNumberFormat.SPELLOUT); + fmt.format(bigI, buf, null); + logln("big int: " + buf.toString()); + + buf.setLength(0); + BigDecimal bigD = new BigDecimal(bigI); + fmt.format(bigD, buf, null); + logln("big dec: " + buf.toString()); + } + void doTest(RuleBasedNumberFormat formatter, String[][] testData, boolean testParsing) { NumberFormat decFmt = NumberFormat.getInstance(Locale.US); diff --git a/icu4j/src/com/ibm/icu/text/DateFormat.java b/icu4j/src/com/ibm/icu/text/DateFormat.java index 41c2a880ce5..8f917db300a 100755 --- a/icu4j/src/com/ibm/icu/text/DateFormat.java +++ b/icu4j/src/com/ibm/icu/text/DateFormat.java @@ -735,10 +735,12 @@ public abstract class DateFormat extends Format { * Overrides hashCode * @stable ICU 2.0 */ + ///CLOVER:OFF public int hashCode() { return numberFormat.hashCode(); // just enough fields for a reasonable distribution } + ///CLOVER:ON /** * Overrides equals diff --git a/icu4j/src/com/ibm/icu/text/DateFormatSymbols.java b/icu4j/src/com/ibm/icu/text/DateFormatSymbols.java index 7193429fa45..26fa6a9ebdd 100755 --- a/icu4j/src/com/ibm/icu/text/DateFormatSymbols.java +++ b/icu4j/src/com/ibm/icu/text/DateFormatSymbols.java @@ -5,8 +5,8 @@ ******************************************************************************* * * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/DateFormatSymbols.java,v $ - * $Date: 2002/12/05 01:21:36 $ - * $Revision: 1.14 $ + * $Date: 2002/12/18 21:20:52 $ + * $Revision: 1.15 $ * ***************************************************************************************** */ @@ -529,7 +529,6 @@ public class DateFormatSymbols implements Serializable, Cloneable { * Compares the equality of the two arrays of String. * @param current this String array. * @param other that String array. - */ private final boolean equals(String[] current, String[] other) { int count = current.length; @@ -539,6 +538,7 @@ public class DateFormatSymbols implements Serializable, Cloneable { return false; return true; } + */ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/icu4j/src/com/ibm/icu/util/RangeDateRule.java b/icu4j/src/com/ibm/icu/util/RangeDateRule.java index 4c6a335010f..b394bb37ef2 100755 --- a/icu4j/src/com/ibm/icu/util/RangeDateRule.java +++ b/icu4j/src/com/ibm/icu/util/RangeDateRule.java @@ -5,8 +5,8 @@ ******************************************************************************* * * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/util/RangeDateRule.java,v $ - * $Date: 2002/12/04 01:03:39 $ - * $Revision: 1.6 $ + * $Date: 2002/12/18 21:20:52 $ + * $Revision: 1.7 $ * ***************************************************************************************** */ @@ -30,8 +30,9 @@ public class RangeDateRule implements DateRule } /** - * @draft ICU 2.2 + * @internal */ + // Range is a package-private class so this should be package-private too, probably public RangeDateRule(Range[] ranges) { for (int i = 0; i < ranges.length; i++) {