You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2008/01/21 09:32:48 UTC
svn commit: r613794 - in /harmony/enhanced/classlib/trunk/modules/luni:
make/exclude.common
src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
Author: tonywu
Date: Mon Jan 21 00:32:47 2008
New Revision: 613794
URL: http://svn.apache.org/viewvc?rev=613794&view=rev
Log:
Correct the testcase against latest ICU version 3.8/CLDR 5.0 and move this test out of exclude list. Filed these failures on RI as non-bug differences
Modified:
harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common
harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common?rev=613794&r1=613793&r2=613794&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common Mon Jan 21 00:32:47 2008
@@ -1,6 +1,5 @@
org/apache/harmony/luni/tests/java/net/URLClassLoaderTest.java
org/apache/harmony/luni/tests/java/net/ExcludedProxyTest.java
-org/apache/harmony/luni/tests/java/util/CurrencyTest.java
org/apache/harmony/luni/tests/java/util/FormatterTest.java
org/apache/harmony/luni/tests/java/util/GregorianCalendarTest.java
org/apache/harmony/luni/tests/java/util/LocaleTest.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java?rev=613794&r1=613793&r2=613794&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java Mon Jan 21 00:32:47 2008
@@ -22,337 +22,328 @@
public class CurrencyTest extends junit.framework.TestCase {
- private static Locale defaultLocale = Locale.getDefault();
+ private static Locale defaultLocale = Locale.getDefault();
- /**
- * @tests java.util.Currency#getInstance(java.lang.String)
- */
- public void test_getInstanceLjava_lang_String() {
- // see test_getInstanceLjava_util_Locale() tests
- }
-
- /**
- * @tests java.util.Currency#getInstance(java.util.Locale)
- */
- public void test_getInstanceLjava_util_Locale() {
- /*
- * the behaviour in all these three cases should be the same since this
- * method ignores language and variant component of the locale.
- */
- Currency c0 = Currency.getInstance("CAD");
- Currency c1 = Currency.getInstance(new Locale("en", "CA"));
- assertTrue(
- "Currency.getInstance(new Locale(\"en\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
- c1 == c0);
- Currency c2 = Currency.getInstance(new Locale("fr", "CA"));
- assertTrue(
- "Currency.getInstance(new Locale(\"fr\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
- c2 == c0);
- Currency c3 = Currency.getInstance(new Locale("", "CA"));
- assertTrue(
- "Currency.getInstance(new Locale(\"\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
- c3 == c0);
-
- c0 = Currency.getInstance("JPY");
- c1 = Currency.getInstance(new Locale("ja", "JP"));
- assertTrue(
- "Currency.getInstance(new Locale(\"ja\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
- c1 == c0);
- c2 = Currency.getInstance(new Locale("", "JP"));
- assertTrue(
- "Currency.getInstance(new Locale(\"\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
- c2 == c0);
- c3 = Currency.getInstance(new Locale("bogus", "JP"));
- assertTrue(
- "Currency.getInstance(new Locale(\"bogus\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
- c3 == c0);
-
- Locale localeGu = new Locale("gu", "IN");
- Currency cGu = Currency.getInstance(localeGu);
- Locale localeKn = new Locale("kn", "IN");
- Currency cKn = Currency.getInstance(localeKn);
- assertTrue("Currency.getInstance(Locale_" + localeGu.toString() + "))"
- + "isn't equal to " + "Currency.getInstance(Locale_"
- + localeKn.toString() + "))", cGu == cKn);
-
- // some teritories do not have currencies, like Antarctica
- Locale loc = new Locale("", "AQ");
- try {
- Currency curr = Currency.getInstance(loc);
- assertNull(
- "Currency.getInstance(new Locale(\"\", \"AQ\")) did not return null",
- curr);
- } catch (IllegalArgumentException e) {
- fail("Unexpected IllegalArgumentException " + e);
- }
-
- // unsupported/legacy iso3 countries
- loc = new Locale("", "ZR");
- try {
- Currency curr = Currency.getInstance(loc);
- fail("Expected IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- }
-
- loc = new Locale("", "ZAR");
- try {
- Currency curr = Currency.getInstance(loc);
- fail("Expected IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- }
-
- loc = new Locale("", "FX");
- try {
- Currency curr = Currency.getInstance(loc);
- fail("Expected IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- }
-
- loc = new Locale("", "FXX");
- try {
- Currency curr = Currency.getInstance(loc);
- fail("Expected IllegalArgumentException");
- } catch (IllegalArgumentException e) {
- }
- }
-
- /**
- * @tests java.util.Currency#getSymbol()
- */
- public void test_getSymbol() {
-
- Currency currK = Currency.getInstance("KRW");
- Currency currI = Currency.getInstance("INR");
- Currency currUS = Currency.getInstance("USD");
-
- Locale.setDefault(Locale.US);
- assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
- assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
- assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
-
- Locale.setDefault(new Locale("ko", "KR"));
- assertEquals("currK.getSymbol()", "\uffe6", currK.getSymbol());
- assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
- assertEquals("currUS.getSymbol()", "USD", currUS.getSymbol());
-
- // test what happens if this is an invalid locale,
- // one with Korean country but an India language
- // this method should return the currency codes in that case
- Locale.setDefault(new Locale("kr", "KR"));
- assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
- assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
- assertEquals("currUS.getSymbol()", "USD", currUS.getSymbol());
- }
-
- /**
- * @tests java.util.Currency#getSymbol(java.util.Locale)
- */
- public void test_getSymbolLjava_util_Locale() {
- Locale.setDefault(Locale.US);
- Currency currE = Currency.getInstance("EUR");
- assertEquals("EUR", currE.getSymbol(Locale.JAPAN));
- assertEquals("EUR", currE.getSymbol(Locale.JAPANESE));
- assertEquals("EUR", currE.getSymbol(new Locale("", "FR")));
- assertEquals("\u20ac", currE.getSymbol(Locale.FRANCE));
- assertEquals("EUR", currE.getSymbol(Locale.FRENCH));
-
- Currency currJ = Currency.getInstance("JPY");
- assertEquals("\uffe5", currJ.getSymbol(Locale.JAPAN));
- assertEquals("JPY", currJ.getSymbol(Locale.JAPANESE));
- assertEquals("JPY", currJ.getSymbol(Locale.FRANCE));
- assertEquals("JPY", currJ.getSymbol(Locale.FRENCH));
-
- Currency currUS = Currency.getInstance("USD");
- assertEquals("USD", currUS.getSymbol(Locale.JAPAN));
-
- Locale.setDefault(new Locale("ja", "JP"));
- assertEquals("\uffe5", currJ.getSymbol(new Locale("", "JP")));
- assertEquals("USD", currUS.getSymbol(new Locale("", "JP")));
-
- Locale.setDefault(Locale.US);
- assertEquals("JPY", currJ.getSymbol(new Locale("", "JP")));
- assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
-
- assertEquals("USD", currUS.getSymbol(Locale.JAPANESE));
- assertEquals("USD", currUS.getSymbol(Locale.FRANCE));
- assertEquals("USD", currUS.getSymbol(Locale.FRENCH));
- assertEquals("USD", currUS.getSymbol(new Locale("fr", "FR")));
- assertEquals("$", currUS.getSymbol(new Locale("", "FR"))); // default
- // locale
-
- assertEquals("$", currUS.getSymbol(Locale.US));
- assertEquals("USD", currUS.getSymbol(Locale.ENGLISH));
-
- assertEquals("$", currUS.getSymbol(new Locale("en", "US")));
- assertEquals("$", currUS.getSymbol(new Locale("", "US")));
-
- Currency currCA = Currency.getInstance("CAD");
- assertEquals("CAD", currCA.getSymbol(Locale.JAPAN));
- assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
- assertEquals("CAD", currCA.getSymbol(Locale.FRANCE));
- assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
- assertEquals("CAD", currCA.getSymbol(Locale.US));
- assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
- assertEquals("CAD", currCA.getSymbol(new Locale("es", "US")));
- assertEquals("CAD", currCA.getSymbol(new Locale("en", "US")));
-
- assertEquals("$", currCA.getSymbol(Locale.CANADA));
- assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
- assertEquals("$", currCA.getSymbol(new Locale("en", "CA")));
- assertEquals("$", currCA.getSymbol(new Locale("fr", "CA")));
- assertEquals("CAD", currCA.getSymbol(new Locale("", "CA")));
-
- // tests what happens with improper locales, i.e. countries without the
- // given language
- assertEquals("currUS.getSymbol(new Locale(\"ar\", \"US\"))", "USD",
- currUS.getSymbol(new Locale("ar", "US")));
- assertEquals("currUS.getSymbol(new Locale(\"ar\", \"CA\"))", "USD",
- currUS.getSymbol(new Locale("ar", "CA")));
- assertEquals("currCA.getSymbol(new Locale(\"ar\", \"US\"))", "CAD",
- currCA.getSymbol(new Locale("ar", "US")));
- assertEquals("currCA.getSymbol(new Locale(\"ar\", \"CA\"))", "CAD",
- currCA.getSymbol(new Locale("ar", "CA")));
- assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "JPY",
- currJ.getSymbol(new Locale("ja", "US")));
- assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "USD",
- currUS.getSymbol(new Locale("ja", "US")));
-
- // cross testing between USD and JPY when locale is JAPANESE JAPAN
-
- // set default locale to Locale_ja_JP
- Locale.setDefault(new Locale("ja", "JP"));
-
- Currency currJ2 = Currency.getInstance("JPY");
- Currency currUS2 = Currency.getInstance("USD");
-
- // the real JAPAN locale
- assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "JP")));
-
- // no language
- assertEquals("\uffe5", currJ2.getSymbol(new Locale("", "JP")));
-
- // no country
- assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "")));
-
- // no language
- assertEquals("\uffe5", currJ2.getSymbol(new Locale("", "US")));
-
- // no country
- assertEquals("JPY", currJ2.getSymbol(new Locale("en", "")));
-
- // bogus Locales , when default locale is Locale_ja_JP
- assertEquals("JPY", currJ2.getSymbol(new Locale("ar", "JP")));
- assertEquals("JPY", currJ2.getSymbol(new Locale("ar", "US")));
- assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "AE")));
- assertEquals("JPY", currJ2.getSymbol(new Locale("en", "AE")));
- assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "JPY",
- currJ.getSymbol(new Locale("ja", "US")));
-
- // the real US locale
- assertEquals("$", currUS2.getSymbol(new Locale("en", "US")));
-
- // no country
- assertEquals("USD", currUS2.getSymbol(new Locale("ja", "")));
-
- // no language
- assertEquals("USD", currUS2.getSymbol(new Locale("", "JP")));
-
- // no language
- assertEquals("USD", currUS2.getSymbol(new Locale("", "US")));
-
- // no country
- assertEquals("USD", currUS2.getSymbol(new Locale("en", "")));
-
- // bogus Locales , when default locale is Locale_ja_JP
- assertEquals("USD", currUS2.getSymbol(new Locale("ar", "JP")));
- assertEquals("USD", currUS2.getSymbol(new Locale("ar", "US")));
- assertEquals("USD", currUS2.getSymbol(new Locale("ja", "AE")));
- assertEquals("USD", currUS2.getSymbol(new Locale("en", "AE")));
- assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "USD",
- currUS.getSymbol(new Locale("ja", "US")));
-
- Locale.setDefault(Locale.US);
-
- // euro tests
- Currency currDKK = Currency.getInstance("DKK");
- assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
- assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
-
- assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
- assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
-
- assertEquals("EUR", currE.getSymbol(new Locale("", "DK")));
- assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
-
- Locale.setDefault(new Locale("da", "DK"));
- assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
- assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
-
- assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
- assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
-
- assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
- assertEquals("kr", currDKK.getSymbol(new Locale("", "DK")));
-
- assertEquals("EUR", currE.getSymbol(new Locale("ar", "AE")));
- assertEquals("DKK", currDKK.getSymbol(new Locale("ar", "AE")));
- }
-
- /**
- * @tests java.util.Currency#getDefaultFractionDigits()
- */
- public void test_getDefaultFractionDigits() {
- Currency c1 = Currency.getInstance("EUR");
- c1.getDefaultFractionDigits();
- assertEquals(" Currency.getInstance(\"" + c1
- + "\") returned incorrect number of digits. ", 2, c1
- .getDefaultFractionDigits());
-
- Currency c2 = Currency.getInstance("JPY");
- c2.getDefaultFractionDigits();
- assertEquals(" Currency.getInstance(\"" + c2
- + "\") returned incorrect number of digits. ", 0, c2
- .getDefaultFractionDigits());
-
- Currency c3 = Currency.getInstance("XBD");
- c3.getDefaultFractionDigits();
- assertEquals(" Currency.getInstance(\"" + c3
- + "\") returned incorrect number of digits. ", -1, c3
- .getDefaultFractionDigits());
-
- }
-
- protected void setUp() {
- Locale.setDefault(defaultLocale);
- }
-
- protected void tearDown() {
- }
-
- /**
- * Helper method to display Currency info
- *
- * @param c
- */
- private void printCurrency(Currency c) {
- System.out.println();
- System.out.println(c.getCurrencyCode());
- System.out.println(c.getSymbol());
- System.out.println(c.getDefaultFractionDigits());
- }
-
- /**
- * helper method to display Locale info
- */
- private static void printLocale(Locale loc) {
- System.out.println();
- System.out.println(loc.getDisplayName());
- System.out.println(loc.getCountry());
- System.out.println(loc.getLanguage());
- System.out.println(loc.getDisplayCountry());
- System.out.println(loc.getDisplayLanguage());
- System.out.println(loc.getDisplayName());
- System.out.println(loc.getISO3Country());
- System.out.println(loc.getISO3Language());
- }
+ /**
+ * @tests java.util.Currency#getInstance(java.lang.String)
+ */
+ public void test_getInstanceLjava_lang_String() {
+ // see test_getInstanceLjava_util_Locale() tests
+ }
+
+ /**
+ * @tests java.util.Currency#getInstance(java.util.Locale)
+ */
+ public void test_getInstanceLjava_util_Locale() {
+ /*
+ * the behaviour in all these three cases should be the same since this
+ * method ignores language and variant component of the locale.
+ */
+ Currency c0 = Currency.getInstance("CAD");
+ Currency c1 = Currency.getInstance(new Locale("en", "CA"));
+ assertTrue(
+ "Currency.getInstance(new Locale(\"en\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
+ c1 == c0);
+ Currency c2 = Currency.getInstance(new Locale("fr", "CA"));
+ assertTrue(
+ "Currency.getInstance(new Locale(\"fr\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
+ c2 == c0);
+ Currency c3 = Currency.getInstance(new Locale("", "CA"));
+ assertTrue(
+ "Currency.getInstance(new Locale(\"\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
+ c3 == c0);
+
+ c0 = Currency.getInstance("JPY");
+ c1 = Currency.getInstance(new Locale("ja", "JP"));
+ assertTrue(
+ "Currency.getInstance(new Locale(\"ja\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
+ c1 == c0);
+ c2 = Currency.getInstance(new Locale("", "JP"));
+ assertTrue(
+ "Currency.getInstance(new Locale(\"\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
+ c2 == c0);
+ c3 = Currency.getInstance(new Locale("bogus", "JP"));
+ assertTrue(
+ "Currency.getInstance(new Locale(\"bogus\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
+ c3 == c0);
+
+ Locale localeGu = new Locale("gu", "IN");
+ Currency cGu = Currency.getInstance(localeGu);
+ Locale localeKn = new Locale("kn", "IN");
+ Currency cKn = Currency.getInstance(localeKn);
+ assertTrue("Currency.getInstance(Locale_" + localeGu.toString() + "))"
+ + "isn't equal to " + "Currency.getInstance(Locale_"
+ + localeKn.toString() + "))", cGu == cKn);
+
+ // some teritories do not have currencies, like Antarctica
+ Locale loc = new Locale("", "AQ");
+ try {
+ Currency curr = Currency.getInstance(loc);
+ assertNull(
+ "Currency.getInstance(new Locale(\"\", \"AQ\")) did not return null",
+ curr);
+ } catch (IllegalArgumentException e) {
+ fail("Unexpected IllegalArgumentException " + e);
+ }
+
+ // unsupported/legacy iso3 countries
+ // RI does not support them.
+ loc = new Locale("", "ZR");
+ Currency.getInstance(loc);
+
+ loc = new Locale("", "ZAR");
+ Currency.getInstance(loc);
+
+ loc = new Locale("", "FX");
+ Currency.getInstance(loc);
+
+ loc = new Locale("", "FXX");
+ Currency.getInstance(loc);
+ }
+
+ /**
+ * @tests java.util.Currency#getSymbol()
+ */
+ public void test_getSymbol() {
+
+ Currency currK = Currency.getInstance("KRW");
+ Currency currI = Currency.getInstance("INR");
+ Currency currUS = Currency.getInstance("USD");
+
+ Locale.setDefault(Locale.US);
+ assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
+ // Some non-bug differences below because of CLDR data.
+ assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
+ .getSymbol());
+ assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
+
+ Locale.setDefault(new Locale("ko", "KR"));
+ assertEquals("currK.getSymbol()", "\uffe6", currK.getSymbol());
+ assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
+ .getSymbol());
+ assertEquals("currUS.getSymbol()", "US$", currUS.getSymbol());
+
+ // test what happens if this is an invalid locale,
+ // one with Korean country but an India language
+ // this method should return the currency codes in that case
+ Locale.setDefault(new Locale("kr", "KR"));
+ assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
+ assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
+ .getSymbol());
+ assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
+ }
+
+ /**
+ * @tests java.util.Currency#getSymbol(java.util.Locale)
+ */
+ public void test_getSymbolLjava_util_Locale() {
+ Locale.setDefault(Locale.US);
+ Currency currE = Currency.getInstance("EUR");
+ // Some non-bug differences below because of CLDR data.
+ assertEquals("\u20ac", currE.getSymbol(Locale.JAPAN));
+ assertEquals("EUR", currE.getSymbol(Locale.JAPANESE));
+ assertEquals("\u20ac", currE.getSymbol(new Locale("", "FR")));
+ assertEquals("\u20ac", currE.getSymbol(Locale.FRANCE));
+ assertEquals("EUR", currE.getSymbol(Locale.FRENCH));
+
+ Currency currJ = Currency.getInstance("JPY");
+ assertEquals("\uffe5", currJ.getSymbol(Locale.JAPAN));
+ assertEquals("JPY", currJ.getSymbol(Locale.JAPANESE));
+ assertEquals("\u00a5", currJ.getSymbol(Locale.FRANCE));
+ assertEquals("JPY", currJ.getSymbol(Locale.FRENCH));
+
+ Currency currUS = Currency.getInstance("USD");
+ assertEquals("$", currUS.getSymbol(Locale.JAPAN));
+
+ Locale.setDefault(new Locale("ja", "JP"));
+ assertEquals("\u00a5", currJ.getSymbol(new Locale("", "JP")));
+ assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
+
+ Locale.setDefault(Locale.US);
+ assertEquals("\u00a5", currJ.getSymbol(new Locale("", "JP")));
+ assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
+
+ assertEquals("USD", currUS.getSymbol(Locale.JAPANESE));
+ assertEquals("$", currUS.getSymbol(Locale.FRANCE));
+ assertEquals("USD", currUS.getSymbol(Locale.FRENCH));
+ assertEquals("$", currUS.getSymbol(new Locale("fr", "FR")));
+ assertEquals("$", currUS.getSymbol(new Locale("", "FR"))); // default
+ // locale
+
+ assertEquals("$", currUS.getSymbol(Locale.US));
+ assertEquals("USD", currUS.getSymbol(Locale.ENGLISH));
+
+ assertEquals("$", currUS.getSymbol(new Locale("en", "US")));
+ assertEquals("$", currUS.getSymbol(new Locale("", "US")));
+
+ Currency currCA = Currency.getInstance("CAD");
+ assertEquals("CAD", currCA.getSymbol(Locale.JAPAN));
+ assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
+ assertEquals("CAD", currCA.getSymbol(Locale.FRANCE));
+ assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
+ assertEquals("Can$", currCA.getSymbol(Locale.US));
+ assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
+ assertEquals("Can$", currCA.getSymbol(new Locale("es", "US")));
+ assertEquals("Can$", currCA.getSymbol(new Locale("en", "US")));
+
+ assertEquals("$", currCA.getSymbol(Locale.CANADA));
+ assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
+ assertEquals("$", currCA.getSymbol(new Locale("en", "CA")));
+ assertEquals("$", currCA.getSymbol(new Locale("fr", "CA")));
+ assertEquals("CAD", currCA.getSymbol(new Locale("", "CA")));
+
+ // tests what happens with improper locales, i.e. countries without the
+ // given language
+ assertEquals("currUS.getSymbol(new Locale(\"ar\", \"US\"))", "$",
+ currUS.getSymbol(new Locale("ar", "US")));
+ assertEquals("currUS.getSymbol(new Locale(\"ar\", \"CA\"))", "$",
+ currUS.getSymbol(new Locale("ar", "CA")));
+ assertEquals("currCA.getSymbol(new Locale(\"ar\", \"US\"))", "CAD",
+ currCA.getSymbol(new Locale("ar", "US")));
+ assertEquals("currCA.getSymbol(new Locale(\"ar\", \"CA\"))", "CAD",
+ currCA.getSymbol(new Locale("ar", "CA")));
+ assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "\uffe5",
+ currJ.getSymbol(new Locale("ja", "US")));
+ assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "$",
+ currUS.getSymbol(new Locale("ja", "US")));
+
+ // cross testing between USD and JPY when locale is JAPANESE JAPAN
+
+ // set default locale to Locale_ja_JP
+ Locale.setDefault(new Locale("ja", "JP"));
+
+ Currency currJ2 = Currency.getInstance("JPY");
+ Currency currUS2 = Currency.getInstance("USD");
+
+ // the real JAPAN locale
+ assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "JP")));
+
+ // no language
+ assertEquals("\u00a5", currJ2.getSymbol(new Locale("", "JP")));
+
+ // no country
+ assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "")));
+
+ // no language
+ assertEquals("\u00a5", currJ2.getSymbol(new Locale("", "US")));
+
+ // no country
+ assertEquals("JPY", currJ2.getSymbol(new Locale("en", "")));
+
+ // bogus Locales , when default locale is Locale_ja_JP
+ assertEquals("\u00a5", currJ2.getSymbol(new Locale("ar", "JP")));
+ assertEquals("\u00a5", currJ2.getSymbol(new Locale("ar", "US")));
+ assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "AE")));
+ assertEquals("\u00a5", currJ2.getSymbol(new Locale("en", "AE")));
+ assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "\uffe5",
+ currJ.getSymbol(new Locale("ja", "US")));
+
+ // the real US locale
+ assertEquals("$", currUS2.getSymbol(new Locale("en", "US")));
+
+ // no country
+ assertEquals("USD", currUS2.getSymbol(new Locale("ja", "")));
+
+ // no language
+ assertEquals("$", currUS2.getSymbol(new Locale("", "JP")));
+
+ // no language
+ assertEquals("$", currUS2.getSymbol(new Locale("", "US")));
+
+ // no country
+ assertEquals("USD", currUS2.getSymbol(new Locale("en", "")));
+
+ // bogus Locales , when default locale is Locale_ja_JP
+ assertEquals("$", currUS2.getSymbol(new Locale("ar", "JP")));
+ assertEquals("$", currUS2.getSymbol(new Locale("ar", "US")));
+ assertEquals("$", currUS2.getSymbol(new Locale("ja", "AE")));
+ assertEquals("US$", currUS2.getSymbol(new Locale("en", "AE")));
+ assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "$",
+ currUS.getSymbol(new Locale("ja", "US")));
+
+ Locale.setDefault(Locale.US);
+
+ // euro tests
+ Currency currDKK = Currency.getInstance("DKK");
+ assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
+ assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
+
+ assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
+ assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
+
+ assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
+ assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
+
+ Locale.setDefault(new Locale("da", "DK"));
+ assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
+ assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
+
+ assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
+ assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
+
+ assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
+ assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
+
+ assertEquals("\u20ac", currE.getSymbol(new Locale("ar", "AE")));
+ assertEquals("DKK", currDKK.getSymbol(new Locale("ar", "AE")));
+ }
+
+ /**
+ * @tests java.util.Currency#getDefaultFractionDigits()
+ */
+ public void test_getDefaultFractionDigits() {
+ Currency c1 = Currency.getInstance("EUR");
+ c1.getDefaultFractionDigits();
+ assertEquals(" Currency.getInstance(\"" + c1
+ + "\") returned incorrect number of digits. ", 2, c1
+ .getDefaultFractionDigits());
+
+ Currency c2 = Currency.getInstance("JPY");
+ c2.getDefaultFractionDigits();
+ assertEquals(" Currency.getInstance(\"" + c2
+ + "\") returned incorrect number of digits. ", 0, c2
+ .getDefaultFractionDigits());
+
+ Currency c3 = Currency.getInstance("XBD");
+ // A non-bug differences below because of CLDR data.
+ c3.getDefaultFractionDigits();
+ assertEquals(" Currency.getInstance(\"" + c3
+ + "\") returned incorrect number of digits. ", 2, c3
+ .getDefaultFractionDigits());
+
+ }
+
+ protected void setUp() {
+ Locale.setDefault(defaultLocale);
+ }
+
+ protected void tearDown() {
+ }
+
+ /**
+ * Helper method to display Currency info
+ *
+ * @param c
+ */
+ private void printCurrency(Currency c) {
+ System.out.println();
+ System.out.println(c.getCurrencyCode());
+ System.out.println(c.getSymbol());
+ System.out.println(c.getDefaultFractionDigits());
+ }
+
+ /**
+ * helper method to display Locale info
+ */
+ private static void printLocale(Locale loc) {
+ System.out.println();
+ System.out.println(loc.getDisplayName());
+ System.out.println(loc.getCountry());
+ System.out.println(loc.getLanguage());
+ System.out.println(loc.getDisplayCountry());
+ System.out.println(loc.getDisplayLanguage());
+ System.out.println(loc.getDisplayName());
+ System.out.println(loc.getISO3Country());
+ System.out.println(loc.getISO3Language());
+ }
}
Re: svn commit: r613794 - in /harmony/enhanced/classlib/trunk/modules/luni: make/exclude.common src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
Posted by Tony Wu <wu...@gmail.com>.
Thank you very much. I tested on wrong CLDR data last time. Fixed now.
On 1/31/08, Alexei Zakharov <al...@gmail.com> wrote:
> Tony,
>
> I've placed CurrecnyTest back to the exclude list since it constantly
> fails. Please see my comment to HARMONY-5407.
>
> Thanks,
> Alexei
>
> 2008/1/21, tonywu@apache.org <to...@apache.org>:
> > Author: tonywu
> > Date: Mon Jan 21 00:32:47 2008
> > New Revision: 613794
> >
> > URL: http://svn.apache.org/viewvc?rev=613794&view=rev
> > Log:
> > Correct the testcase against latest ICU version 3.8/CLDR 5.0 and move this test out of exclude list. Filed these failures on RI as non-bug differences
> >
> > Modified:
> > harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common
> > harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common?rev=613794&r1=613793&r2=613794&view=diff
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common (original)
> > +++ harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common Mon Jan 21 00:32:47 2008
> > @@ -1,6 +1,5 @@
> > org/apache/harmony/luni/tests/java/net/URLClassLoaderTest.java
> > org/apache/harmony/luni/tests/java/net/ExcludedProxyTest.java
> > -org/apache/harmony/luni/tests/java/util/CurrencyTest.java
> > org/apache/harmony/luni/tests/java/util/FormatterTest.java
> > org/apache/harmony/luni/tests/java/util/GregorianCalendarTest.java
> > org/apache/harmony/luni/tests/java/util/LocaleTest.java
> >
> > Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java?rev=613794&r1=613793&r2=613794&view=diff
> > ==============================================================================
> > --- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java (original)
> > +++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java Mon Jan 21 00:32:47 2008
> > @@ -22,337 +22,328 @@
> >
> > public class CurrencyTest extends junit.framework.TestCase {
> >
> > - private static Locale defaultLocale = Locale.getDefault();
> > + private static Locale defaultLocale = Locale.getDefault();
> >
> > - /**
> > - * @tests java.util.Currency#getInstance(java.lang.String)
> > - */
> > - public void test_getInstanceLjava_lang_String() {
> > - // see test_getInstanceLjava_util_Locale() tests
> > - }
> > -
> > - /**
> > - * @tests java.util.Currency#getInstance(java.util.Locale)
> > - */
> > - public void test_getInstanceLjava_util_Locale() {
> > - /*
> > - * the behaviour in all these three cases should be the same since this
> > - * method ignores language and variant component of the locale.
> > - */
> > - Currency c0 = Currency.getInstance("CAD");
> > - Currency c1 = Currency.getInstance(new Locale("en", "CA"));
> > - assertTrue(
> > - "Currency.getInstance(new Locale(\"en\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> > - c1 == c0);
> > - Currency c2 = Currency.getInstance(new Locale("fr", "CA"));
> > - assertTrue(
> > - "Currency.getInstance(new Locale(\"fr\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> > - c2 == c0);
> > - Currency c3 = Currency.getInstance(new Locale("", "CA"));
> > - assertTrue(
> > - "Currency.getInstance(new Locale(\"\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> > - c3 == c0);
> > -
> > - c0 = Currency.getInstance("JPY");
> > - c1 = Currency.getInstance(new Locale("ja", "JP"));
> > - assertTrue(
> > - "Currency.getInstance(new Locale(\"ja\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> > - c1 == c0);
> > - c2 = Currency.getInstance(new Locale("", "JP"));
> > - assertTrue(
> > - "Currency.getInstance(new Locale(\"\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> > - c2 == c0);
> > - c3 = Currency.getInstance(new Locale("bogus", "JP"));
> > - assertTrue(
> > - "Currency.getInstance(new Locale(\"bogus\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> > - c3 == c0);
> > -
> > - Locale localeGu = new Locale("gu", "IN");
> > - Currency cGu = Currency.getInstance(localeGu);
> > - Locale localeKn = new Locale("kn", "IN");
> > - Currency cKn = Currency.getInstance(localeKn);
> > - assertTrue("Currency.getInstance(Locale_" + localeGu.toString() + "))"
> > - + "isn't equal to " + "Currency.getInstance(Locale_"
> > - + localeKn.toString() + "))", cGu == cKn);
> > -
> > - // some teritories do not have currencies, like Antarctica
> > - Locale loc = new Locale("", "AQ");
> > - try {
> > - Currency curr = Currency.getInstance(loc);
> > - assertNull(
> > - "Currency.getInstance(new Locale(\"\", \"AQ\")) did not return null",
> > - curr);
> > - } catch (IllegalArgumentException e) {
> > - fail("Unexpected IllegalArgumentException " + e);
> > - }
> > -
> > - // unsupported/legacy iso3 countries
> > - loc = new Locale("", "ZR");
> > - try {
> > - Currency curr = Currency.getInstance(loc);
> > - fail("Expected IllegalArgumentException");
> > - } catch (IllegalArgumentException e) {
> > - }
> > -
> > - loc = new Locale("", "ZAR");
> > - try {
> > - Currency curr = Currency.getInstance(loc);
> > - fail("Expected IllegalArgumentException");
> > - } catch (IllegalArgumentException e) {
> > - }
> > -
> > - loc = new Locale("", "FX");
> > - try {
> > - Currency curr = Currency.getInstance(loc);
> > - fail("Expected IllegalArgumentException");
> > - } catch (IllegalArgumentException e) {
> > - }
> > -
> > - loc = new Locale("", "FXX");
> > - try {
> > - Currency curr = Currency.getInstance(loc);
> > - fail("Expected IllegalArgumentException");
> > - } catch (IllegalArgumentException e) {
> > - }
> > - }
> > -
> > - /**
> > - * @tests java.util.Currency#getSymbol()
> > - */
> > - public void test_getSymbol() {
> > -
> > - Currency currK = Currency.getInstance("KRW");
> > - Currency currI = Currency.getInstance("INR");
> > - Currency currUS = Currency.getInstance("USD");
> > -
> > - Locale.setDefault(Locale.US);
> > - assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> > - assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
> > - assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
> > -
> > - Locale.setDefault(new Locale("ko", "KR"));
> > - assertEquals("currK.getSymbol()", "\uffe6", currK.getSymbol());
> > - assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
> > - assertEquals("currUS.getSymbol()", "USD", currUS.getSymbol());
> > -
> > - // test what happens if this is an invalid locale,
> > - // one with Korean country but an India language
> > - // this method should return the currency codes in that case
> > - Locale.setDefault(new Locale("kr", "KR"));
> > - assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> > - assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
> > - assertEquals("currUS.getSymbol()", "USD", currUS.getSymbol());
> > - }
> > -
> > - /**
> > - * @tests java.util.Currency#getSymbol(java.util.Locale)
> > - */
> > - public void test_getSymbolLjava_util_Locale() {
> > - Locale.setDefault(Locale.US);
> > - Currency currE = Currency.getInstance("EUR");
> > - assertEquals("EUR", currE.getSymbol(Locale.JAPAN));
> > - assertEquals("EUR", currE.getSymbol(Locale.JAPANESE));
> > - assertEquals("EUR", currE.getSymbol(new Locale("", "FR")));
> > - assertEquals("\u20ac", currE.getSymbol(Locale.FRANCE));
> > - assertEquals("EUR", currE.getSymbol(Locale.FRENCH));
> > -
> > - Currency currJ = Currency.getInstance("JPY");
> > - assertEquals("\uffe5", currJ.getSymbol(Locale.JAPAN));
> > - assertEquals("JPY", currJ.getSymbol(Locale.JAPANESE));
> > - assertEquals("JPY", currJ.getSymbol(Locale.FRANCE));
> > - assertEquals("JPY", currJ.getSymbol(Locale.FRENCH));
> > -
> > - Currency currUS = Currency.getInstance("USD");
> > - assertEquals("USD", currUS.getSymbol(Locale.JAPAN));
> > -
> > - Locale.setDefault(new Locale("ja", "JP"));
> > - assertEquals("\uffe5", currJ.getSymbol(new Locale("", "JP")));
> > - assertEquals("USD", currUS.getSymbol(new Locale("", "JP")));
> > -
> > - Locale.setDefault(Locale.US);
> > - assertEquals("JPY", currJ.getSymbol(new Locale("", "JP")));
> > - assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
> > -
> > - assertEquals("USD", currUS.getSymbol(Locale.JAPANESE));
> > - assertEquals("USD", currUS.getSymbol(Locale.FRANCE));
> > - assertEquals("USD", currUS.getSymbol(Locale.FRENCH));
> > - assertEquals("USD", currUS.getSymbol(new Locale("fr", "FR")));
> > - assertEquals("$", currUS.getSymbol(new Locale("", "FR"))); // default
> > - // locale
> > -
> > - assertEquals("$", currUS.getSymbol(Locale.US));
> > - assertEquals("USD", currUS.getSymbol(Locale.ENGLISH));
> > -
> > - assertEquals("$", currUS.getSymbol(new Locale("en", "US")));
> > - assertEquals("$", currUS.getSymbol(new Locale("", "US")));
> > -
> > - Currency currCA = Currency.getInstance("CAD");
> > - assertEquals("CAD", currCA.getSymbol(Locale.JAPAN));
> > - assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
> > - assertEquals("CAD", currCA.getSymbol(Locale.FRANCE));
> > - assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
> > - assertEquals("CAD", currCA.getSymbol(Locale.US));
> > - assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
> > - assertEquals("CAD", currCA.getSymbol(new Locale("es", "US")));
> > - assertEquals("CAD", currCA.getSymbol(new Locale("en", "US")));
> > -
> > - assertEquals("$", currCA.getSymbol(Locale.CANADA));
> > - assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
> > - assertEquals("$", currCA.getSymbol(new Locale("en", "CA")));
> > - assertEquals("$", currCA.getSymbol(new Locale("fr", "CA")));
> > - assertEquals("CAD", currCA.getSymbol(new Locale("", "CA")));
> > -
> > - // tests what happens with improper locales, i.e. countries without the
> > - // given language
> > - assertEquals("currUS.getSymbol(new Locale(\"ar\", \"US\"))", "USD",
> > - currUS.getSymbol(new Locale("ar", "US")));
> > - assertEquals("currUS.getSymbol(new Locale(\"ar\", \"CA\"))", "USD",
> > - currUS.getSymbol(new Locale("ar", "CA")));
> > - assertEquals("currCA.getSymbol(new Locale(\"ar\", \"US\"))", "CAD",
> > - currCA.getSymbol(new Locale("ar", "US")));
> > - assertEquals("currCA.getSymbol(new Locale(\"ar\", \"CA\"))", "CAD",
> > - currCA.getSymbol(new Locale("ar", "CA")));
> > - assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "JPY",
> > - currJ.getSymbol(new Locale("ja", "US")));
> > - assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "USD",
> > - currUS.getSymbol(new Locale("ja", "US")));
> > -
> > - // cross testing between USD and JPY when locale is JAPANESE JAPAN
> > -
> > - // set default locale to Locale_ja_JP
> > - Locale.setDefault(new Locale("ja", "JP"));
> > -
> > - Currency currJ2 = Currency.getInstance("JPY");
> > - Currency currUS2 = Currency.getInstance("USD");
> > -
> > - // the real JAPAN locale
> > - assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "JP")));
> > -
> > - // no language
> > - assertEquals("\uffe5", currJ2.getSymbol(new Locale("", "JP")));
> > -
> > - // no country
> > - assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "")));
> > -
> > - // no language
> > - assertEquals("\uffe5", currJ2.getSymbol(new Locale("", "US")));
> > -
> > - // no country
> > - assertEquals("JPY", currJ2.getSymbol(new Locale("en", "")));
> > -
> > - // bogus Locales , when default locale is Locale_ja_JP
> > - assertEquals("JPY", currJ2.getSymbol(new Locale("ar", "JP")));
> > - assertEquals("JPY", currJ2.getSymbol(new Locale("ar", "US")));
> > - assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "AE")));
> > - assertEquals("JPY", currJ2.getSymbol(new Locale("en", "AE")));
> > - assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "JPY",
> > - currJ.getSymbol(new Locale("ja", "US")));
> > -
> > - // the real US locale
> > - assertEquals("$", currUS2.getSymbol(new Locale("en", "US")));
> > -
> > - // no country
> > - assertEquals("USD", currUS2.getSymbol(new Locale("ja", "")));
> > -
> > - // no language
> > - assertEquals("USD", currUS2.getSymbol(new Locale("", "JP")));
> > -
> > - // no language
> > - assertEquals("USD", currUS2.getSymbol(new Locale("", "US")));
> > -
> > - // no country
> > - assertEquals("USD", currUS2.getSymbol(new Locale("en", "")));
> > -
> > - // bogus Locales , when default locale is Locale_ja_JP
> > - assertEquals("USD", currUS2.getSymbol(new Locale("ar", "JP")));
> > - assertEquals("USD", currUS2.getSymbol(new Locale("ar", "US")));
> > - assertEquals("USD", currUS2.getSymbol(new Locale("ja", "AE")));
> > - assertEquals("USD", currUS2.getSymbol(new Locale("en", "AE")));
> > - assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "USD",
> > - currUS.getSymbol(new Locale("ja", "US")));
> > -
> > - Locale.setDefault(Locale.US);
> > -
> > - // euro tests
> > - Currency currDKK = Currency.getInstance("DKK");
> > - assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> > - assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> > -
> > - assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> > - assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> > -
> > - assertEquals("EUR", currE.getSymbol(new Locale("", "DK")));
> > - assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
> > -
> > - Locale.setDefault(new Locale("da", "DK"));
> > - assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> > - assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> > -
> > - assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> > - assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> > -
> > - assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
> > - assertEquals("kr", currDKK.getSymbol(new Locale("", "DK")));
> > -
> > - assertEquals("EUR", currE.getSymbol(new Locale("ar", "AE")));
> > - assertEquals("DKK", currDKK.getSymbol(new Locale("ar", "AE")));
> > - }
> > -
> > - /**
> > - * @tests java.util.Currency#getDefaultFractionDigits()
> > - */
> > - public void test_getDefaultFractionDigits() {
> > - Currency c1 = Currency.getInstance("EUR");
> > - c1.getDefaultFractionDigits();
> > - assertEquals(" Currency.getInstance(\"" + c1
> > - + "\") returned incorrect number of digits. ", 2, c1
> > - .getDefaultFractionDigits());
> > -
> > - Currency c2 = Currency.getInstance("JPY");
> > - c2.getDefaultFractionDigits();
> > - assertEquals(" Currency.getInstance(\"" + c2
> > - + "\") returned incorrect number of digits. ", 0, c2
> > - .getDefaultFractionDigits());
> > -
> > - Currency c3 = Currency.getInstance("XBD");
> > - c3.getDefaultFractionDigits();
> > - assertEquals(" Currency.getInstance(\"" + c3
> > - + "\") returned incorrect number of digits. ", -1, c3
> > - .getDefaultFractionDigits());
> > -
> > - }
> > -
> > - protected void setUp() {
> > - Locale.setDefault(defaultLocale);
> > - }
> > -
> > - protected void tearDown() {
> > - }
> > -
> > - /**
> > - * Helper method to display Currency info
> > - *
> > - * @param c
> > - */
> > - private void printCurrency(Currency c) {
> > - System.out.println();
> > - System.out.println(c.getCurrencyCode());
> > - System.out.println(c.getSymbol());
> > - System.out.println(c.getDefaultFractionDigits());
> > - }
> > -
> > - /**
> > - * helper method to display Locale info
> > - */
> > - private static void printLocale(Locale loc) {
> > - System.out.println();
> > - System.out.println(loc.getDisplayName());
> > - System.out.println(loc.getCountry());
> > - System.out.println(loc.getLanguage());
> > - System.out.println(loc.getDisplayCountry());
> > - System.out.println(loc.getDisplayLanguage());
> > - System.out.println(loc.getDisplayName());
> > - System.out.println(loc.getISO3Country());
> > - System.out.println(loc.getISO3Language());
> > - }
> > + /**
> > + * @tests java.util.Currency#getInstance(java.lang.String)
> > + */
> > + public void test_getInstanceLjava_lang_String() {
> > + // see test_getInstanceLjava_util_Locale() tests
> > + }
> > +
> > + /**
> > + * @tests java.util.Currency#getInstance(java.util.Locale)
> > + */
> > + public void test_getInstanceLjava_util_Locale() {
> > + /*
> > + * the behaviour in all these three cases should be the same since this
> > + * method ignores language and variant component of the locale.
> > + */
> > + Currency c0 = Currency.getInstance("CAD");
> > + Currency c1 = Currency.getInstance(new Locale("en", "CA"));
> > + assertTrue(
> > + "Currency.getInstance(new Locale(\"en\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> > + c1 == c0);
> > + Currency c2 = Currency.getInstance(new Locale("fr", "CA"));
> > + assertTrue(
> > + "Currency.getInstance(new Locale(\"fr\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> > + c2 == c0);
> > + Currency c3 = Currency.getInstance(new Locale("", "CA"));
> > + assertTrue(
> > + "Currency.getInstance(new Locale(\"\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> > + c3 == c0);
> > +
> > + c0 = Currency.getInstance("JPY");
> > + c1 = Currency.getInstance(new Locale("ja", "JP"));
> > + assertTrue(
> > + "Currency.getInstance(new Locale(\"ja\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> > + c1 == c0);
> > + c2 = Currency.getInstance(new Locale("", "JP"));
> > + assertTrue(
> > + "Currency.getInstance(new Locale(\"\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> > + c2 == c0);
> > + c3 = Currency.getInstance(new Locale("bogus", "JP"));
> > + assertTrue(
> > + "Currency.getInstance(new Locale(\"bogus\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> > + c3 == c0);
> > +
> > + Locale localeGu = new Locale("gu", "IN");
> > + Currency cGu = Currency.getInstance(localeGu);
> > + Locale localeKn = new Locale("kn", "IN");
> > + Currency cKn = Currency.getInstance(localeKn);
> > + assertTrue("Currency.getInstance(Locale_" + localeGu.toString() + "))"
> > + + "isn't equal to " + "Currency.getInstance(Locale_"
> > + + localeKn.toString() + "))", cGu == cKn);
> > +
> > + // some teritories do not have currencies, like Antarctica
> > + Locale loc = new Locale("", "AQ");
> > + try {
> > + Currency curr = Currency.getInstance(loc);
> > + assertNull(
> > + "Currency.getInstance(new Locale(\"\", \"AQ\")) did not return null",
> > + curr);
> > + } catch (IllegalArgumentException e) {
> > + fail("Unexpected IllegalArgumentException " + e);
> > + }
> > +
> > + // unsupported/legacy iso3 countries
> > + // RI does not support them.
> > + loc = new Locale("", "ZR");
> > + Currency.getInstance(loc);
> > +
> > + loc = new Locale("", "ZAR");
> > + Currency.getInstance(loc);
> > +
> > + loc = new Locale("", "FX");
> > + Currency.getInstance(loc);
> > +
> > + loc = new Locale("", "FXX");
> > + Currency.getInstance(loc);
> > + }
> > +
> > + /**
> > + * @tests java.util.Currency#getSymbol()
> > + */
> > + public void test_getSymbol() {
> > +
> > + Currency currK = Currency.getInstance("KRW");
> > + Currency currI = Currency.getInstance("INR");
> > + Currency currUS = Currency.getInstance("USD");
> > +
> > + Locale.setDefault(Locale.US);
> > + assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> > + // Some non-bug differences below because of CLDR data.
> > + assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> > + .getSymbol());
> > + assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
> > +
> > + Locale.setDefault(new Locale("ko", "KR"));
> > + assertEquals("currK.getSymbol()", "\uffe6", currK.getSymbol());
> > + assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> > + .getSymbol());
> > + assertEquals("currUS.getSymbol()", "US$", currUS.getSymbol());
> > +
> > + // test what happens if this is an invalid locale,
> > + // one with Korean country but an India language
> > + // this method should return the currency codes in that case
> > + Locale.setDefault(new Locale("kr", "KR"));
> > + assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> > + assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> > + .getSymbol());
> > + assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
> > + }
> > +
> > + /**
> > + * @tests java.util.Currency#getSymbol(java.util.Locale)
> > + */
> > + public void test_getSymbolLjava_util_Locale() {
> > + Locale.setDefault(Locale.US);
> > + Currency currE = Currency.getInstance("EUR");
> > + // Some non-bug differences below because of CLDR data.
> > + assertEquals("\u20ac", currE.getSymbol(Locale.JAPAN));
> > + assertEquals("EUR", currE.getSymbol(Locale.JAPANESE));
> > + assertEquals("\u20ac", currE.getSymbol(new Locale("", "FR")));
> > + assertEquals("\u20ac", currE.getSymbol(Locale.FRANCE));
> > + assertEquals("EUR", currE.getSymbol(Locale.FRENCH));
> > +
> > + Currency currJ = Currency.getInstance("JPY");
> > + assertEquals("\uffe5", currJ.getSymbol(Locale.JAPAN));
> > + assertEquals("JPY", currJ.getSymbol(Locale.JAPANESE));
> > + assertEquals("\u00a5", currJ.getSymbol(Locale.FRANCE));
> > + assertEquals("JPY", currJ.getSymbol(Locale.FRENCH));
> > +
> > + Currency currUS = Currency.getInstance("USD");
> > + assertEquals("$", currUS.getSymbol(Locale.JAPAN));
> > +
> > + Locale.setDefault(new Locale("ja", "JP"));
> > + assertEquals("\u00a5", currJ.getSymbol(new Locale("", "JP")));
> > + assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
> > +
> > + Locale.setDefault(Locale.US);
> > + assertEquals("\u00a5", currJ.getSymbol(new Locale("", "JP")));
> > + assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
> > +
> > + assertEquals("USD", currUS.getSymbol(Locale.JAPANESE));
> > + assertEquals("$", currUS.getSymbol(Locale.FRANCE));
> > + assertEquals("USD", currUS.getSymbol(Locale.FRENCH));
> > + assertEquals("$", currUS.getSymbol(new Locale("fr", "FR")));
> > + assertEquals("$", currUS.getSymbol(new Locale("", "FR"))); // default
> > + // locale
> > +
> > + assertEquals("$", currUS.getSymbol(Locale.US));
> > + assertEquals("USD", currUS.getSymbol(Locale.ENGLISH));
> > +
> > + assertEquals("$", currUS.getSymbol(new Locale("en", "US")));
> > + assertEquals("$", currUS.getSymbol(new Locale("", "US")));
> > +
> > + Currency currCA = Currency.getInstance("CAD");
> > + assertEquals("CAD", currCA.getSymbol(Locale.JAPAN));
> > + assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
> > + assertEquals("CAD", currCA.getSymbol(Locale.FRANCE));
> > + assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
> > + assertEquals("Can$", currCA.getSymbol(Locale.US));
> > + assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
> > + assertEquals("Can$", currCA.getSymbol(new Locale("es", "US")));
> > + assertEquals("Can$", currCA.getSymbol(new Locale("en", "US")));
> > +
> > + assertEquals("$", currCA.getSymbol(Locale.CANADA));
> > + assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
> > + assertEquals("$", currCA.getSymbol(new Locale("en", "CA")));
> > + assertEquals("$", currCA.getSymbol(new Locale("fr", "CA")));
> > + assertEquals("CAD", currCA.getSymbol(new Locale("", "CA")));
> > +
> > + // tests what happens with improper locales, i.e. countries without the
> > + // given language
> > + assertEquals("currUS.getSymbol(new Locale(\"ar\", \"US\"))", "$",
> > + currUS.getSymbol(new Locale("ar", "US")));
> > + assertEquals("currUS.getSymbol(new Locale(\"ar\", \"CA\"))", "$",
> > + currUS.getSymbol(new Locale("ar", "CA")));
> > + assertEquals("currCA.getSymbol(new Locale(\"ar\", \"US\"))", "CAD",
> > + currCA.getSymbol(new Locale("ar", "US")));
> > + assertEquals("currCA.getSymbol(new Locale(\"ar\", \"CA\"))", "CAD",
> > + currCA.getSymbol(new Locale("ar", "CA")));
> > + assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "\uffe5",
> > + currJ.getSymbol(new Locale("ja", "US")));
> > + assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "$",
> > + currUS.getSymbol(new Locale("ja", "US")));
> > +
> > + // cross testing between USD and JPY when locale is JAPANESE JAPAN
> > +
> > + // set default locale to Locale_ja_JP
> > + Locale.setDefault(new Locale("ja", "JP"));
> > +
> > + Currency currJ2 = Currency.getInstance("JPY");
> > + Currency currUS2 = Currency.getInstance("USD");
> > +
> > + // the real JAPAN locale
> > + assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "JP")));
> > +
> > + // no language
> > + assertEquals("\u00a5", currJ2.getSymbol(new Locale("", "JP")));
> > +
> > + // no country
> > + assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "")));
> > +
> > + // no language
> > + assertEquals("\u00a5", currJ2.getSymbol(new Locale("", "US")));
> > +
> > + // no country
> > + assertEquals("JPY", currJ2.getSymbol(new Locale("en", "")));
> > +
> > + // bogus Locales , when default locale is Locale_ja_JP
> > + assertEquals("\u00a5", currJ2.getSymbol(new Locale("ar", "JP")));
> > + assertEquals("\u00a5", currJ2.getSymbol(new Locale("ar", "US")));
> > + assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "AE")));
> > + assertEquals("\u00a5", currJ2.getSymbol(new Locale("en", "AE")));
> > + assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "\uffe5",
> > + currJ.getSymbol(new Locale("ja", "US")));
> > +
> > + // the real US locale
> > + assertEquals("$", currUS2.getSymbol(new Locale("en", "US")));
> > +
> > + // no country
> > + assertEquals("USD", currUS2.getSymbol(new Locale("ja", "")));
> > +
> > + // no language
> > + assertEquals("$", currUS2.getSymbol(new Locale("", "JP")));
> > +
> > + // no language
> > + assertEquals("$", currUS2.getSymbol(new Locale("", "US")));
> > +
> > + // no country
> > + assertEquals("USD", currUS2.getSymbol(new Locale("en", "")));
> > +
> > + // bogus Locales , when default locale is Locale_ja_JP
> > + assertEquals("$", currUS2.getSymbol(new Locale("ar", "JP")));
> > + assertEquals("$", currUS2.getSymbol(new Locale("ar", "US")));
> > + assertEquals("$", currUS2.getSymbol(new Locale("ja", "AE")));
> > + assertEquals("US$", currUS2.getSymbol(new Locale("en", "AE")));
> > + assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "$",
> > + currUS.getSymbol(new Locale("ja", "US")));
> > +
> > + Locale.setDefault(Locale.US);
> > +
> > + // euro tests
> > + Currency currDKK = Currency.getInstance("DKK");
> > + assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> > + assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> > +
> > + assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> > + assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> > +
> > + assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
> > + assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
> > +
> > + Locale.setDefault(new Locale("da", "DK"));
> > + assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> > + assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> > +
> > + assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> > + assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> > +
> > + assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
> > + assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
> > +
> > + assertEquals("\u20ac", currE.getSymbol(new Locale("ar", "AE")));
> > + assertEquals("DKK", currDKK.getSymbol(new Locale("ar", "AE")));
> > + }
> > +
> > + /**
> > + * @tests java.util.Currency#getDefaultFractionDigits()
> > + */
> > + public void test_getDefaultFractionDigits() {
> > + Currency c1 = Currency.getInstance("EUR");
> > + c1.getDefaultFractionDigits();
> > + assertEquals(" Currency.getInstance(\"" + c1
> > + + "\") returned incorrect number of digits. ", 2, c1
> > + .getDefaultFractionDigits());
> > +
> > + Currency c2 = Currency.getInstance("JPY");
> > + c2.getDefaultFractionDigits();
> > + assertEquals(" Currency.getInstance(\"" + c2
> > + + "\") returned incorrect number of digits. ", 0, c2
> > + .getDefaultFractionDigits());
> > +
> > + Currency c3 = Currency.getInstance("XBD");
> > + // A non-bug differences below because of CLDR data.
> > + c3.getDefaultFractionDigits();
> > + assertEquals(" Currency.getInstance(\"" + c3
> > + + "\") returned incorrect number of digits. ", 2, c3
> > + .getDefaultFractionDigits());
> > +
> > + }
> > +
> > + protected void setUp() {
> > + Locale.setDefault(defaultLocale);
> > + }
> > +
> > + protected void tearDown() {
> > + }
> > +
> > + /**
> > + * Helper method to display Currency info
> > + *
> > + * @param c
> > + */
> > + private void printCurrency(Currency c) {
> > + System.out.println();
> > + System.out.println(c.getCurrencyCode());
> > + System.out.println(c.getSymbol());
> > + System.out.println(c.getDefaultFractionDigits());
> > + }
> > +
> > + /**
> > + * helper method to display Locale info
> > + */
> > + private static void printLocale(Locale loc) {
> > + System.out.println();
> > + System.out.println(loc.getDisplayName());
> > + System.out.println(loc.getCountry());
> > + System.out.println(loc.getLanguage());
> > + System.out.println(loc.getDisplayCountry());
> > + System.out.println(loc.getDisplayLanguage());
> > + System.out.println(loc.getDisplayName());
> > + System.out.println(loc.getISO3Country());
> > + System.out.println(loc.getISO3Language());
> > + }
> > }
> >
> >
> >
>
--
Tony Wu
China Software Development Lab, IBM
Re: svn commit: r613794 - in /harmony/enhanced/classlib/trunk/modules/luni: make/exclude.common src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
Posted by Alexei Zakharov <al...@gmail.com>.
Tony,
I've placed CurrecnyTest back to the exclude list since it constantly
fails. Please see my comment to HARMONY-5407.
Thanks,
Alexei
2008/1/21, tonywu@apache.org <to...@apache.org>:
> Author: tonywu
> Date: Mon Jan 21 00:32:47 2008
> New Revision: 613794
>
> URL: http://svn.apache.org/viewvc?rev=613794&view=rev
> Log:
> Correct the testcase against latest ICU version 3.8/CLDR 5.0 and move this test out of exclude list. Filed these failures on RI as non-bug differences
>
> Modified:
> harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common
> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
>
> Modified: harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common?rev=613794&r1=613793&r2=613794&view=diff
> ==============================================================================
> --- harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common (original)
> +++ harmony/enhanced/classlib/trunk/modules/luni/make/exclude.common Mon Jan 21 00:32:47 2008
> @@ -1,6 +1,5 @@
> org/apache/harmony/luni/tests/java/net/URLClassLoaderTest.java
> org/apache/harmony/luni/tests/java/net/ExcludedProxyTest.java
> -org/apache/harmony/luni/tests/java/util/CurrencyTest.java
> org/apache/harmony/luni/tests/java/util/FormatterTest.java
> org/apache/harmony/luni/tests/java/util/GregorianCalendarTest.java
> org/apache/harmony/luni/tests/java/util/LocaleTest.java
>
> Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java?rev=613794&r1=613793&r2=613794&view=diff
> ==============================================================================
> --- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java (original)
> +++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/CurrencyTest.java Mon Jan 21 00:32:47 2008
> @@ -22,337 +22,328 @@
>
> public class CurrencyTest extends junit.framework.TestCase {
>
> - private static Locale defaultLocale = Locale.getDefault();
> + private static Locale defaultLocale = Locale.getDefault();
>
> - /**
> - * @tests java.util.Currency#getInstance(java.lang.String)
> - */
> - public void test_getInstanceLjava_lang_String() {
> - // see test_getInstanceLjava_util_Locale() tests
> - }
> -
> - /**
> - * @tests java.util.Currency#getInstance(java.util.Locale)
> - */
> - public void test_getInstanceLjava_util_Locale() {
> - /*
> - * the behaviour in all these three cases should be the same since this
> - * method ignores language and variant component of the locale.
> - */
> - Currency c0 = Currency.getInstance("CAD");
> - Currency c1 = Currency.getInstance(new Locale("en", "CA"));
> - assertTrue(
> - "Currency.getInstance(new Locale(\"en\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> - c1 == c0);
> - Currency c2 = Currency.getInstance(new Locale("fr", "CA"));
> - assertTrue(
> - "Currency.getInstance(new Locale(\"fr\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> - c2 == c0);
> - Currency c3 = Currency.getInstance(new Locale("", "CA"));
> - assertTrue(
> - "Currency.getInstance(new Locale(\"\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> - c3 == c0);
> -
> - c0 = Currency.getInstance("JPY");
> - c1 = Currency.getInstance(new Locale("ja", "JP"));
> - assertTrue(
> - "Currency.getInstance(new Locale(\"ja\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> - c1 == c0);
> - c2 = Currency.getInstance(new Locale("", "JP"));
> - assertTrue(
> - "Currency.getInstance(new Locale(\"\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> - c2 == c0);
> - c3 = Currency.getInstance(new Locale("bogus", "JP"));
> - assertTrue(
> - "Currency.getInstance(new Locale(\"bogus\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> - c3 == c0);
> -
> - Locale localeGu = new Locale("gu", "IN");
> - Currency cGu = Currency.getInstance(localeGu);
> - Locale localeKn = new Locale("kn", "IN");
> - Currency cKn = Currency.getInstance(localeKn);
> - assertTrue("Currency.getInstance(Locale_" + localeGu.toString() + "))"
> - + "isn't equal to " + "Currency.getInstance(Locale_"
> - + localeKn.toString() + "))", cGu == cKn);
> -
> - // some teritories do not have currencies, like Antarctica
> - Locale loc = new Locale("", "AQ");
> - try {
> - Currency curr = Currency.getInstance(loc);
> - assertNull(
> - "Currency.getInstance(new Locale(\"\", \"AQ\")) did not return null",
> - curr);
> - } catch (IllegalArgumentException e) {
> - fail("Unexpected IllegalArgumentException " + e);
> - }
> -
> - // unsupported/legacy iso3 countries
> - loc = new Locale("", "ZR");
> - try {
> - Currency curr = Currency.getInstance(loc);
> - fail("Expected IllegalArgumentException");
> - } catch (IllegalArgumentException e) {
> - }
> -
> - loc = new Locale("", "ZAR");
> - try {
> - Currency curr = Currency.getInstance(loc);
> - fail("Expected IllegalArgumentException");
> - } catch (IllegalArgumentException e) {
> - }
> -
> - loc = new Locale("", "FX");
> - try {
> - Currency curr = Currency.getInstance(loc);
> - fail("Expected IllegalArgumentException");
> - } catch (IllegalArgumentException e) {
> - }
> -
> - loc = new Locale("", "FXX");
> - try {
> - Currency curr = Currency.getInstance(loc);
> - fail("Expected IllegalArgumentException");
> - } catch (IllegalArgumentException e) {
> - }
> - }
> -
> - /**
> - * @tests java.util.Currency#getSymbol()
> - */
> - public void test_getSymbol() {
> -
> - Currency currK = Currency.getInstance("KRW");
> - Currency currI = Currency.getInstance("INR");
> - Currency currUS = Currency.getInstance("USD");
> -
> - Locale.setDefault(Locale.US);
> - assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> - assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
> - assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
> -
> - Locale.setDefault(new Locale("ko", "KR"));
> - assertEquals("currK.getSymbol()", "\uffe6", currK.getSymbol());
> - assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
> - assertEquals("currUS.getSymbol()", "USD", currUS.getSymbol());
> -
> - // test what happens if this is an invalid locale,
> - // one with Korean country but an India language
> - // this method should return the currency codes in that case
> - Locale.setDefault(new Locale("kr", "KR"));
> - assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> - assertEquals("currI.getSymbol()", "INR", currI.getSymbol());
> - assertEquals("currUS.getSymbol()", "USD", currUS.getSymbol());
> - }
> -
> - /**
> - * @tests java.util.Currency#getSymbol(java.util.Locale)
> - */
> - public void test_getSymbolLjava_util_Locale() {
> - Locale.setDefault(Locale.US);
> - Currency currE = Currency.getInstance("EUR");
> - assertEquals("EUR", currE.getSymbol(Locale.JAPAN));
> - assertEquals("EUR", currE.getSymbol(Locale.JAPANESE));
> - assertEquals("EUR", currE.getSymbol(new Locale("", "FR")));
> - assertEquals("\u20ac", currE.getSymbol(Locale.FRANCE));
> - assertEquals("EUR", currE.getSymbol(Locale.FRENCH));
> -
> - Currency currJ = Currency.getInstance("JPY");
> - assertEquals("\uffe5", currJ.getSymbol(Locale.JAPAN));
> - assertEquals("JPY", currJ.getSymbol(Locale.JAPANESE));
> - assertEquals("JPY", currJ.getSymbol(Locale.FRANCE));
> - assertEquals("JPY", currJ.getSymbol(Locale.FRENCH));
> -
> - Currency currUS = Currency.getInstance("USD");
> - assertEquals("USD", currUS.getSymbol(Locale.JAPAN));
> -
> - Locale.setDefault(new Locale("ja", "JP"));
> - assertEquals("\uffe5", currJ.getSymbol(new Locale("", "JP")));
> - assertEquals("USD", currUS.getSymbol(new Locale("", "JP")));
> -
> - Locale.setDefault(Locale.US);
> - assertEquals("JPY", currJ.getSymbol(new Locale("", "JP")));
> - assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
> -
> - assertEquals("USD", currUS.getSymbol(Locale.JAPANESE));
> - assertEquals("USD", currUS.getSymbol(Locale.FRANCE));
> - assertEquals("USD", currUS.getSymbol(Locale.FRENCH));
> - assertEquals("USD", currUS.getSymbol(new Locale("fr", "FR")));
> - assertEquals("$", currUS.getSymbol(new Locale("", "FR"))); // default
> - // locale
> -
> - assertEquals("$", currUS.getSymbol(Locale.US));
> - assertEquals("USD", currUS.getSymbol(Locale.ENGLISH));
> -
> - assertEquals("$", currUS.getSymbol(new Locale("en", "US")));
> - assertEquals("$", currUS.getSymbol(new Locale("", "US")));
> -
> - Currency currCA = Currency.getInstance("CAD");
> - assertEquals("CAD", currCA.getSymbol(Locale.JAPAN));
> - assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
> - assertEquals("CAD", currCA.getSymbol(Locale.FRANCE));
> - assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
> - assertEquals("CAD", currCA.getSymbol(Locale.US));
> - assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
> - assertEquals("CAD", currCA.getSymbol(new Locale("es", "US")));
> - assertEquals("CAD", currCA.getSymbol(new Locale("en", "US")));
> -
> - assertEquals("$", currCA.getSymbol(Locale.CANADA));
> - assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
> - assertEquals("$", currCA.getSymbol(new Locale("en", "CA")));
> - assertEquals("$", currCA.getSymbol(new Locale("fr", "CA")));
> - assertEquals("CAD", currCA.getSymbol(new Locale("", "CA")));
> -
> - // tests what happens with improper locales, i.e. countries without the
> - // given language
> - assertEquals("currUS.getSymbol(new Locale(\"ar\", \"US\"))", "USD",
> - currUS.getSymbol(new Locale("ar", "US")));
> - assertEquals("currUS.getSymbol(new Locale(\"ar\", \"CA\"))", "USD",
> - currUS.getSymbol(new Locale("ar", "CA")));
> - assertEquals("currCA.getSymbol(new Locale(\"ar\", \"US\"))", "CAD",
> - currCA.getSymbol(new Locale("ar", "US")));
> - assertEquals("currCA.getSymbol(new Locale(\"ar\", \"CA\"))", "CAD",
> - currCA.getSymbol(new Locale("ar", "CA")));
> - assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "JPY",
> - currJ.getSymbol(new Locale("ja", "US")));
> - assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "USD",
> - currUS.getSymbol(new Locale("ja", "US")));
> -
> - // cross testing between USD and JPY when locale is JAPANESE JAPAN
> -
> - // set default locale to Locale_ja_JP
> - Locale.setDefault(new Locale("ja", "JP"));
> -
> - Currency currJ2 = Currency.getInstance("JPY");
> - Currency currUS2 = Currency.getInstance("USD");
> -
> - // the real JAPAN locale
> - assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "JP")));
> -
> - // no language
> - assertEquals("\uffe5", currJ2.getSymbol(new Locale("", "JP")));
> -
> - // no country
> - assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "")));
> -
> - // no language
> - assertEquals("\uffe5", currJ2.getSymbol(new Locale("", "US")));
> -
> - // no country
> - assertEquals("JPY", currJ2.getSymbol(new Locale("en", "")));
> -
> - // bogus Locales , when default locale is Locale_ja_JP
> - assertEquals("JPY", currJ2.getSymbol(new Locale("ar", "JP")));
> - assertEquals("JPY", currJ2.getSymbol(new Locale("ar", "US")));
> - assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "AE")));
> - assertEquals("JPY", currJ2.getSymbol(new Locale("en", "AE")));
> - assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "JPY",
> - currJ.getSymbol(new Locale("ja", "US")));
> -
> - // the real US locale
> - assertEquals("$", currUS2.getSymbol(new Locale("en", "US")));
> -
> - // no country
> - assertEquals("USD", currUS2.getSymbol(new Locale("ja", "")));
> -
> - // no language
> - assertEquals("USD", currUS2.getSymbol(new Locale("", "JP")));
> -
> - // no language
> - assertEquals("USD", currUS2.getSymbol(new Locale("", "US")));
> -
> - // no country
> - assertEquals("USD", currUS2.getSymbol(new Locale("en", "")));
> -
> - // bogus Locales , when default locale is Locale_ja_JP
> - assertEquals("USD", currUS2.getSymbol(new Locale("ar", "JP")));
> - assertEquals("USD", currUS2.getSymbol(new Locale("ar", "US")));
> - assertEquals("USD", currUS2.getSymbol(new Locale("ja", "AE")));
> - assertEquals("USD", currUS2.getSymbol(new Locale("en", "AE")));
> - assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "USD",
> - currUS.getSymbol(new Locale("ja", "US")));
> -
> - Locale.setDefault(Locale.US);
> -
> - // euro tests
> - Currency currDKK = Currency.getInstance("DKK");
> - assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> - assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> -
> - assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> - assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> -
> - assertEquals("EUR", currE.getSymbol(new Locale("", "DK")));
> - assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
> -
> - Locale.setDefault(new Locale("da", "DK"));
> - assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> - assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> -
> - assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> - assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> -
> - assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
> - assertEquals("kr", currDKK.getSymbol(new Locale("", "DK")));
> -
> - assertEquals("EUR", currE.getSymbol(new Locale("ar", "AE")));
> - assertEquals("DKK", currDKK.getSymbol(new Locale("ar", "AE")));
> - }
> -
> - /**
> - * @tests java.util.Currency#getDefaultFractionDigits()
> - */
> - public void test_getDefaultFractionDigits() {
> - Currency c1 = Currency.getInstance("EUR");
> - c1.getDefaultFractionDigits();
> - assertEquals(" Currency.getInstance(\"" + c1
> - + "\") returned incorrect number of digits. ", 2, c1
> - .getDefaultFractionDigits());
> -
> - Currency c2 = Currency.getInstance("JPY");
> - c2.getDefaultFractionDigits();
> - assertEquals(" Currency.getInstance(\"" + c2
> - + "\") returned incorrect number of digits. ", 0, c2
> - .getDefaultFractionDigits());
> -
> - Currency c3 = Currency.getInstance("XBD");
> - c3.getDefaultFractionDigits();
> - assertEquals(" Currency.getInstance(\"" + c3
> - + "\") returned incorrect number of digits. ", -1, c3
> - .getDefaultFractionDigits());
> -
> - }
> -
> - protected void setUp() {
> - Locale.setDefault(defaultLocale);
> - }
> -
> - protected void tearDown() {
> - }
> -
> - /**
> - * Helper method to display Currency info
> - *
> - * @param c
> - */
> - private void printCurrency(Currency c) {
> - System.out.println();
> - System.out.println(c.getCurrencyCode());
> - System.out.println(c.getSymbol());
> - System.out.println(c.getDefaultFractionDigits());
> - }
> -
> - /**
> - * helper method to display Locale info
> - */
> - private static void printLocale(Locale loc) {
> - System.out.println();
> - System.out.println(loc.getDisplayName());
> - System.out.println(loc.getCountry());
> - System.out.println(loc.getLanguage());
> - System.out.println(loc.getDisplayCountry());
> - System.out.println(loc.getDisplayLanguage());
> - System.out.println(loc.getDisplayName());
> - System.out.println(loc.getISO3Country());
> - System.out.println(loc.getISO3Language());
> - }
> + /**
> + * @tests java.util.Currency#getInstance(java.lang.String)
> + */
> + public void test_getInstanceLjava_lang_String() {
> + // see test_getInstanceLjava_util_Locale() tests
> + }
> +
> + /**
> + * @tests java.util.Currency#getInstance(java.util.Locale)
> + */
> + public void test_getInstanceLjava_util_Locale() {
> + /*
> + * the behaviour in all these three cases should be the same since this
> + * method ignores language and variant component of the locale.
> + */
> + Currency c0 = Currency.getInstance("CAD");
> + Currency c1 = Currency.getInstance(new Locale("en", "CA"));
> + assertTrue(
> + "Currency.getInstance(new Locale(\"en\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> + c1 == c0);
> + Currency c2 = Currency.getInstance(new Locale("fr", "CA"));
> + assertTrue(
> + "Currency.getInstance(new Locale(\"fr\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> + c2 == c0);
> + Currency c3 = Currency.getInstance(new Locale("", "CA"));
> + assertTrue(
> + "Currency.getInstance(new Locale(\"\",\"CA\")) isn't equal to Currency.getInstance(\"CAD\")",
> + c3 == c0);
> +
> + c0 = Currency.getInstance("JPY");
> + c1 = Currency.getInstance(new Locale("ja", "JP"));
> + assertTrue(
> + "Currency.getInstance(new Locale(\"ja\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> + c1 == c0);
> + c2 = Currency.getInstance(new Locale("", "JP"));
> + assertTrue(
> + "Currency.getInstance(new Locale(\"\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> + c2 == c0);
> + c3 = Currency.getInstance(new Locale("bogus", "JP"));
> + assertTrue(
> + "Currency.getInstance(new Locale(\"bogus\",\"JP\")) isn't equal to Currency.getInstance(\"JPY\")",
> + c3 == c0);
> +
> + Locale localeGu = new Locale("gu", "IN");
> + Currency cGu = Currency.getInstance(localeGu);
> + Locale localeKn = new Locale("kn", "IN");
> + Currency cKn = Currency.getInstance(localeKn);
> + assertTrue("Currency.getInstance(Locale_" + localeGu.toString() + "))"
> + + "isn't equal to " + "Currency.getInstance(Locale_"
> + + localeKn.toString() + "))", cGu == cKn);
> +
> + // some teritories do not have currencies, like Antarctica
> + Locale loc = new Locale("", "AQ");
> + try {
> + Currency curr = Currency.getInstance(loc);
> + assertNull(
> + "Currency.getInstance(new Locale(\"\", \"AQ\")) did not return null",
> + curr);
> + } catch (IllegalArgumentException e) {
> + fail("Unexpected IllegalArgumentException " + e);
> + }
> +
> + // unsupported/legacy iso3 countries
> + // RI does not support them.
> + loc = new Locale("", "ZR");
> + Currency.getInstance(loc);
> +
> + loc = new Locale("", "ZAR");
> + Currency.getInstance(loc);
> +
> + loc = new Locale("", "FX");
> + Currency.getInstance(loc);
> +
> + loc = new Locale("", "FXX");
> + Currency.getInstance(loc);
> + }
> +
> + /**
> + * @tests java.util.Currency#getSymbol()
> + */
> + public void test_getSymbol() {
> +
> + Currency currK = Currency.getInstance("KRW");
> + Currency currI = Currency.getInstance("INR");
> + Currency currUS = Currency.getInstance("USD");
> +
> + Locale.setDefault(Locale.US);
> + assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> + // Some non-bug differences below because of CLDR data.
> + assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> + .getSymbol());
> + assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
> +
> + Locale.setDefault(new Locale("ko", "KR"));
> + assertEquals("currK.getSymbol()", "\uffe6", currK.getSymbol());
> + assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> + .getSymbol());
> + assertEquals("currUS.getSymbol()", "US$", currUS.getSymbol());
> +
> + // test what happens if this is an invalid locale,
> + // one with Korean country but an India language
> + // this method should return the currency codes in that case
> + Locale.setDefault(new Locale("kr", "KR"));
> + assertEquals("currK.getSymbol()", "KRW", currK.getSymbol());
> + assertEquals("currI.getSymbol()", "0#Rs.|1#Re.|1<Rs.", currI
> + .getSymbol());
> + assertEquals("currUS.getSymbol()", "$", currUS.getSymbol());
> + }
> +
> + /**
> + * @tests java.util.Currency#getSymbol(java.util.Locale)
> + */
> + public void test_getSymbolLjava_util_Locale() {
> + Locale.setDefault(Locale.US);
> + Currency currE = Currency.getInstance("EUR");
> + // Some non-bug differences below because of CLDR data.
> + assertEquals("\u20ac", currE.getSymbol(Locale.JAPAN));
> + assertEquals("EUR", currE.getSymbol(Locale.JAPANESE));
> + assertEquals("\u20ac", currE.getSymbol(new Locale("", "FR")));
> + assertEquals("\u20ac", currE.getSymbol(Locale.FRANCE));
> + assertEquals("EUR", currE.getSymbol(Locale.FRENCH));
> +
> + Currency currJ = Currency.getInstance("JPY");
> + assertEquals("\uffe5", currJ.getSymbol(Locale.JAPAN));
> + assertEquals("JPY", currJ.getSymbol(Locale.JAPANESE));
> + assertEquals("\u00a5", currJ.getSymbol(Locale.FRANCE));
> + assertEquals("JPY", currJ.getSymbol(Locale.FRENCH));
> +
> + Currency currUS = Currency.getInstance("USD");
> + assertEquals("$", currUS.getSymbol(Locale.JAPAN));
> +
> + Locale.setDefault(new Locale("ja", "JP"));
> + assertEquals("\u00a5", currJ.getSymbol(new Locale("", "JP")));
> + assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
> +
> + Locale.setDefault(Locale.US);
> + assertEquals("\u00a5", currJ.getSymbol(new Locale("", "JP")));
> + assertEquals("$", currUS.getSymbol(new Locale("", "JP")));
> +
> + assertEquals("USD", currUS.getSymbol(Locale.JAPANESE));
> + assertEquals("$", currUS.getSymbol(Locale.FRANCE));
> + assertEquals("USD", currUS.getSymbol(Locale.FRENCH));
> + assertEquals("$", currUS.getSymbol(new Locale("fr", "FR")));
> + assertEquals("$", currUS.getSymbol(new Locale("", "FR"))); // default
> + // locale
> +
> + assertEquals("$", currUS.getSymbol(Locale.US));
> + assertEquals("USD", currUS.getSymbol(Locale.ENGLISH));
> +
> + assertEquals("$", currUS.getSymbol(new Locale("en", "US")));
> + assertEquals("$", currUS.getSymbol(new Locale("", "US")));
> +
> + Currency currCA = Currency.getInstance("CAD");
> + assertEquals("CAD", currCA.getSymbol(Locale.JAPAN));
> + assertEquals("CAD", currCA.getSymbol(Locale.JAPANESE));
> + assertEquals("CAD", currCA.getSymbol(Locale.FRANCE));
> + assertEquals("CAD", currCA.getSymbol(Locale.FRENCH));
> + assertEquals("Can$", currCA.getSymbol(Locale.US));
> + assertEquals("CAD", currCA.getSymbol(Locale.ENGLISH));
> + assertEquals("Can$", currCA.getSymbol(new Locale("es", "US")));
> + assertEquals("Can$", currCA.getSymbol(new Locale("en", "US")));
> +
> + assertEquals("$", currCA.getSymbol(Locale.CANADA));
> + assertEquals("$", currCA.getSymbol(Locale.CANADA_FRENCH));
> + assertEquals("$", currCA.getSymbol(new Locale("en", "CA")));
> + assertEquals("$", currCA.getSymbol(new Locale("fr", "CA")));
> + assertEquals("CAD", currCA.getSymbol(new Locale("", "CA")));
> +
> + // tests what happens with improper locales, i.e. countries without the
> + // given language
> + assertEquals("currUS.getSymbol(new Locale(\"ar\", \"US\"))", "$",
> + currUS.getSymbol(new Locale("ar", "US")));
> + assertEquals("currUS.getSymbol(new Locale(\"ar\", \"CA\"))", "$",
> + currUS.getSymbol(new Locale("ar", "CA")));
> + assertEquals("currCA.getSymbol(new Locale(\"ar\", \"US\"))", "CAD",
> + currCA.getSymbol(new Locale("ar", "US")));
> + assertEquals("currCA.getSymbol(new Locale(\"ar\", \"CA\"))", "CAD",
> + currCA.getSymbol(new Locale("ar", "CA")));
> + assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "\uffe5",
> + currJ.getSymbol(new Locale("ja", "US")));
> + assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "$",
> + currUS.getSymbol(new Locale("ja", "US")));
> +
> + // cross testing between USD and JPY when locale is JAPANESE JAPAN
> +
> + // set default locale to Locale_ja_JP
> + Locale.setDefault(new Locale("ja", "JP"));
> +
> + Currency currJ2 = Currency.getInstance("JPY");
> + Currency currUS2 = Currency.getInstance("USD");
> +
> + // the real JAPAN locale
> + assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "JP")));
> +
> + // no language
> + assertEquals("\u00a5", currJ2.getSymbol(new Locale("", "JP")));
> +
> + // no country
> + assertEquals("JPY", currJ2.getSymbol(new Locale("ja", "")));
> +
> + // no language
> + assertEquals("\u00a5", currJ2.getSymbol(new Locale("", "US")));
> +
> + // no country
> + assertEquals("JPY", currJ2.getSymbol(new Locale("en", "")));
> +
> + // bogus Locales , when default locale is Locale_ja_JP
> + assertEquals("\u00a5", currJ2.getSymbol(new Locale("ar", "JP")));
> + assertEquals("\u00a5", currJ2.getSymbol(new Locale("ar", "US")));
> + assertEquals("\uffe5", currJ2.getSymbol(new Locale("ja", "AE")));
> + assertEquals("\u00a5", currJ2.getSymbol(new Locale("en", "AE")));
> + assertEquals("currJ.getSymbol(new Locale(\"ja\", \"US\"))", "\uffe5",
> + currJ.getSymbol(new Locale("ja", "US")));
> +
> + // the real US locale
> + assertEquals("$", currUS2.getSymbol(new Locale("en", "US")));
> +
> + // no country
> + assertEquals("USD", currUS2.getSymbol(new Locale("ja", "")));
> +
> + // no language
> + assertEquals("$", currUS2.getSymbol(new Locale("", "JP")));
> +
> + // no language
> + assertEquals("$", currUS2.getSymbol(new Locale("", "US")));
> +
> + // no country
> + assertEquals("USD", currUS2.getSymbol(new Locale("en", "")));
> +
> + // bogus Locales , when default locale is Locale_ja_JP
> + assertEquals("$", currUS2.getSymbol(new Locale("ar", "JP")));
> + assertEquals("$", currUS2.getSymbol(new Locale("ar", "US")));
> + assertEquals("$", currUS2.getSymbol(new Locale("ja", "AE")));
> + assertEquals("US$", currUS2.getSymbol(new Locale("en", "AE")));
> + assertEquals("currUS.getSymbol(new Locale(\"ja\", \"US\"))", "$",
> + currUS.getSymbol(new Locale("ja", "US")));
> +
> + Locale.setDefault(Locale.US);
> +
> + // euro tests
> + Currency currDKK = Currency.getInstance("DKK");
> + assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> + assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> +
> + assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> + assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> +
> + assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
> + assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
> +
> + Locale.setDefault(new Locale("da", "DK"));
> + assertEquals("\u20ac", currE.getSymbol(new Locale("da", "DK")));
> + assertEquals("kr", currDKK.getSymbol(new Locale("da", "DK")));
> +
> + assertEquals("EUR", currE.getSymbol(new Locale("da", "")));
> + assertEquals("DKK", currDKK.getSymbol(new Locale("da", "")));
> +
> + assertEquals("\u20ac", currE.getSymbol(new Locale("", "DK")));
> + assertEquals("DKK", currDKK.getSymbol(new Locale("", "DK")));
> +
> + assertEquals("\u20ac", currE.getSymbol(new Locale("ar", "AE")));
> + assertEquals("DKK", currDKK.getSymbol(new Locale("ar", "AE")));
> + }
> +
> + /**
> + * @tests java.util.Currency#getDefaultFractionDigits()
> + */
> + public void test_getDefaultFractionDigits() {
> + Currency c1 = Currency.getInstance("EUR");
> + c1.getDefaultFractionDigits();
> + assertEquals(" Currency.getInstance(\"" + c1
> + + "\") returned incorrect number of digits. ", 2, c1
> + .getDefaultFractionDigits());
> +
> + Currency c2 = Currency.getInstance("JPY");
> + c2.getDefaultFractionDigits();
> + assertEquals(" Currency.getInstance(\"" + c2
> + + "\") returned incorrect number of digits. ", 0, c2
> + .getDefaultFractionDigits());
> +
> + Currency c3 = Currency.getInstance("XBD");
> + // A non-bug differences below because of CLDR data.
> + c3.getDefaultFractionDigits();
> + assertEquals(" Currency.getInstance(\"" + c3
> + + "\") returned incorrect number of digits. ", 2, c3
> + .getDefaultFractionDigits());
> +
> + }
> +
> + protected void setUp() {
> + Locale.setDefault(defaultLocale);
> + }
> +
> + protected void tearDown() {
> + }
> +
> + /**
> + * Helper method to display Currency info
> + *
> + * @param c
> + */
> + private void printCurrency(Currency c) {
> + System.out.println();
> + System.out.println(c.getCurrencyCode());
> + System.out.println(c.getSymbol());
> + System.out.println(c.getDefaultFractionDigits());
> + }
> +
> + /**
> + * helper method to display Locale info
> + */
> + private static void printLocale(Locale loc) {
> + System.out.println();
> + System.out.println(loc.getDisplayName());
> + System.out.println(loc.getCountry());
> + System.out.println(loc.getLanguage());
> + System.out.println(loc.getDisplayCountry());
> + System.out.println(loc.getDisplayLanguage());
> + System.out.println(loc.getDisplayName());
> + System.out.println(loc.getISO3Country());
> + System.out.println(loc.getISO3Language());
> + }
> }
>
>
>