174473971cc9d960376295fbcc430320c9ed62991Elliott Hughes/* 2994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * this work for additional information regarding copyright ownership. 5994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * (the "License"); you may not use this file except in compliance with 7994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * the License. You may obtain a copy of the License at 874473971cc9d960376295fbcc430320c9ed62991Elliott Hughes * 9994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 1074473971cc9d960376295fbcc430320c9ed62991Elliott Hughes * 11994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * See the License for the specific language governing permissions and 15994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * limitations under the License. 16994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 17994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 18994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughespackage org.apache.harmony.tests.java.text; 19994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 20994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.io.ByteArrayInputStream; 21994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.io.ByteArrayOutputStream; 22994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.io.File; 23994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.io.ObjectInputStream; 24994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.io.ObjectOutputStream; 25994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.net.URL; 26994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.DecimalFormat; 27994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.DecimalFormatSymbols; 28994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.text.NumberFormat; 29994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.util.Currency; 30994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.util.Locale; 31994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport java.util.ServiceConfigurationError; 32994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 33994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport junit.framework.TestCase; 34994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 35994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughesimport org.apache.harmony.testframework.serialization.SerializationTest; 36994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 37994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughespublic class DecimalFormatSymbolsTest extends TestCase { 38994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 39994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfs; 40994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 41994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfsUS; 42994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 43994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 44994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#DecimalFormatSymbols() 45994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 46994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_Constructor() { 47994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // Test for method java.text.DecimalFormatSymbols() 48994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // Used in tests 49994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 50994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 51994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 52994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#DecimalFormatSymbols(java.util.Locale) 53994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 54994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_ConstructorLjava_util_Locale() { 55994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfs = new DecimalFormatSymbols(new Locale("en", 56994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes "us")); 57994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect symbols", '%', dfs.getPercent()); 58994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 59994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 60994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 61994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 62994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getAvailableLocales() 63994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 64994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getAvailableLocales_no_provider() throws Exception { 65994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Locale[] locales = DecimalFormatSymbols.getAvailableLocales(); 66994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertNotNull(locales); 67994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // must contain Locale.US 68994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes boolean flag = false; 69994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes for (Locale locale : locales) { 70994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes if (locale.equals(Locale.US)) { 71994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes flag = true; 72994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes break; 73994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 74994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 75994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue(flag); 76994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 77994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 78994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 79994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInstance() 80994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 81994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getInstance() { 82994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals(new DecimalFormatSymbols(), DecimalFormatSymbols.getInstance()); 83994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals(new DecimalFormatSymbols(Locale.getDefault()), 84994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols.getInstance()); 8574473971cc9d960376295fbcc430320c9ed62991Elliott Hughes 86994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertNotSame(DecimalFormatSymbols.getInstance(), DecimalFormatSymbols.getInstance()); 87994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 88994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 89994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getInstanceLjava_util_Locale() { 90994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes try { 91994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols.getInstance(null); 9274473971cc9d960376295fbcc430320c9ed62991Elliott Hughes fail(); 9374473971cc9d960376295fbcc430320c9ed62991Elliott Hughes } catch (NullPointerException expected) { 94994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 95994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 9674473971cc9d960376295fbcc430320c9ed62991Elliott Hughes assertEquals(new DecimalFormatSymbols(Locale.GERMANY), DecimalFormatSymbols.getInstance(Locale.GERMANY)); 97994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 98994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Locale locale = new Locale("not exist language", "not exist country"); 99994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); 100994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertNotNull(symbols); 101994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 102994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 103994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 104994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#equals(java.lang.Object) 105994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 106994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_equalsLjava_lang_Object() { 107994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Equal objects returned false", dfs.equals(dfs.clone())); 108994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setDigit('B'); 109994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Un-Equal objects returned true", !dfs 110994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .equals(new DecimalFormatSymbols())); 111994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 112994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 113994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 114994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 115994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getCurrency() 116994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 117994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getCurrency() { 118994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currency = Currency.getInstance("USD"); 119994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect currency", 120994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfsUS.getCurrency(), currency); 121994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 122994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currK = Currency.getInstance("KRW"); 123994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currX = Currency.getInstance("XXX"); 124994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currE = Currency.getInstance("EUR"); 125994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // Currency currF = Currency.getInstance("FRF"); 126994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 127994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfs1 = new DecimalFormatSymbols(new Locale("ko", 128994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes "KR")); 129994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Test1: Returned incorrect currency", 130994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getCurrency() == currK); 131994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test1: Returned incorrect currencySymbol", "\u20a9", dfs1 132994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencySymbol()); 133994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test1: Returned incorrect intlCurrencySymbol", "KRW", 134994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getInternationalCurrencySymbol()); 135994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 136994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1 = new DecimalFormatSymbols(new Locale("", "KR")); 137994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Test2: Returned incorrect currency", 138994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getCurrency() == currK); 139994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test2: Returned incorrect currencySymbol", "\u20a9", dfs1 140994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencySymbol()); 141994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test2: Returned incorrect intlCurrencySymbol", "KRW", 142994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getInternationalCurrencySymbol()); 143994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 144994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1 = new DecimalFormatSymbols(new Locale("ko", "")); 145994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Test3: Returned incorrect currency", 146994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getCurrency() == currX); 147994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test3: Returned incorrect currencySymbol", "\u00a4", dfs1 148994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencySymbol()); 149994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test3: Returned incorrect intlCurrencySymbol", "XXX", 150994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getInternationalCurrencySymbol()); 151994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 152994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1 = new DecimalFormatSymbols(new Locale("fr", "FR")); 153994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Test4: Returned incorrect currency", 154994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getCurrency() == currE); 155994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test4: Returned incorrect currencySymbol", "\u20ac", dfs1 156994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencySymbol()); 157994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test4: Returned incorrect intlCurrencySymbol", "EUR", 158994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs1.getInternationalCurrencySymbol()); 159994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 160994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // RI fails these tests since it doesn't have the PREEURO variant 161994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // dfs1 = new DecimalFormatSymbols(new Locale("fr", "FR","PREEURO")); 162994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // assertTrue("Test5: Returned incorrect currency", dfs1.getCurrency() 163994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // == currF); 164994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // assertTrue("Test5: Returned incorrect currencySymbol", 165994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // dfs1.getCurrencySymbol().equals("F")); 166994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // assertTrue("Test5: Returned incorrect intlCurrencySymbol", 167994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // dfs1.getInternationalCurrencySymbol().equals("FRF")); 168994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 169994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 170994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 171994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getCurrencySymbol() 172994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 173994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getCurrencySymbol() { 174994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect currencySymbol", "$", dfsUS 175994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencySymbol()); 176994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 177994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 178994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 179994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getDecimalSeparator() 180994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 181994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getDecimalSeparator() { 182994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setDecimalSeparator('*'); 183994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect DecimalSeparator symbol", '*', dfs 184994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getDecimalSeparator()); 185994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 186994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 187994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 188994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getDigit() 189994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 190994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getDigit() { 191994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setDigit('*'); 192994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Digit symbol", '*', dfs.getDigit()); 193994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 194994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 195994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 196994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getExponentSeparator() 197994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 198994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getExponentSeparator() { 199994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setExponentSeparator("EE"); 200994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", "EE", dfs 201994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getExponentSeparator()); 202994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 203994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 204994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 205994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getGroupingSeparator() 206994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 207994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getGroupingSeparator() { 208994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setGroupingSeparator('*'); 209994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect GroupingSeparator symbol", '*', dfs 210994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getGroupingSeparator()); 211994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 212994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 213994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 214994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInfinity() 215994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 216994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getInfinity() { 217994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setInfinity("&"); 218994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Returned incorrect Infinity symbol", 219994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.getInfinity() == "&"); 220994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 221994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 222994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 223994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInternationalCurrencySymbol() 224994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 225994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getInternationalCurrencySymbol() { 226994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect InternationalCurrencySymbol", "USD", 227994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfsUS.getInternationalCurrencySymbol()); 228994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 229994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 230994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 231994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getMinusSign() 232994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 233994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getMinusSign() { 234994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setMinusSign('&'); 235994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect MinusSign symbol", '&', dfs 236994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getMinusSign()); 237994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 238994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 239994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 240994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getNaN() 241994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 242994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getNaN() { 243994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setNaN("NAN!!"); 244994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect nan symbol", "NAN!!", dfs.getNaN()); 245994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 246994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 247994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 248994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getPatternSeparator() 249994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 250994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getPatternSeparator() { 251994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setPatternSeparator('X'); 252994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect PatternSeparator symbol", 'X', dfs 253994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getPatternSeparator()); 254994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 255994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 256994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 257994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getPercent() 258994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 259994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getPercent() { 260994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setPercent('*'); 261994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Percent symbol", '*', dfs.getPercent()); 262994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 263994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 264994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 265994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getPerMill() 266994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 267994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getPerMill() { 268994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setPerMill('#'); 269994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect PerMill symbol", '#', dfs.getPerMill()); 270994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 271994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 272994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 273994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#getZeroDigit() 274994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 275994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_getZeroDigit() { 276994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setZeroDigit('*'); 277994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect ZeroDigit symbol", '*', dfs 278994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getZeroDigit()); 279994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 280994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 281994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 282994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setCurrency(java.util.Currency) 283994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 284994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setCurrencyLjava_util_Currency() { 285994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Locale locale = Locale.CANADA; 286994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfs = ((DecimalFormat) NumberFormat 287994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencyInstance(locale)).getDecimalFormatSymbols(); 288994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 289994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes try { 290994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setCurrency(null); 291994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes fail("Expected NullPointerException"); 292994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } catch (NullPointerException e) { 293994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 294994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 295994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currency = Currency.getInstance("JPY"); 296994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setCurrency(currency); 297994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 298994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Returned incorrect currency", currency == dfs.getCurrency()); 299994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect currency symbol", currency.getSymbol( 300994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes locale), dfs.getCurrencySymbol()); 301994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Returned incorrect international currency symbol", currency 302994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencyCode().equals(dfs.getInternationalCurrencySymbol())); 303994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 304994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 305994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 306994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setDecimalSeparator(char) 307994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 308994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setDecimalSeparatorC() { 309994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setDecimalSeparator('*'); 310994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect DecimalSeparator symbol", '*', dfs 311994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getDecimalSeparator()); 312994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 313994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 314994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 315994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setDigit(char) 316994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 317994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setDigitC() { 318994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setDigit('*'); 319994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Digit symbol", '*', dfs.getDigit()); 320994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 321994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 322994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 323994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setExponentSeparator(String) 324994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 325994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setExponentSeparator() { 326994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes try { 327994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setExponentSeparator(null); 328994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes fail("Should throw NullPointerException"); 329994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } catch (NullPointerException e) { 330994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // expected 331994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 332994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 333994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setExponentSeparator(""); 334994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", "", dfs 335994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getExponentSeparator()); 336994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 337994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setExponentSeparator("what ever you want"); 338994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", 339994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes "what ever you want", dfs.getExponentSeparator()); 340994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 341994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setExponentSeparator(" E "); 342994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", " E ", dfs 343994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getExponentSeparator()); 344994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 345994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 346994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 347994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setGroupingSeparator(char) 348994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 349994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setGroupingSeparatorC() { 350994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setGroupingSeparator('*'); 351994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect GroupingSeparator symbol", '*', dfs 352994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getGroupingSeparator()); 353994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 354994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 355994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 356994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setInfinity(java.lang.String) 357994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 358994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setInfinityLjava_lang_String() { 359994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setInfinity("&"); 360994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Returned incorrect Infinity symbol", 361994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.getInfinity() == "&"); 362994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 363994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 364994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 365994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setInternationalCurrencySymbol(java.lang.String) 366994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 367994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setInternationalCurrencySymbolLjava_lang_String() { 368994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Locale locale = Locale.CANADA; 369994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfs = ((DecimalFormat) NumberFormat 370994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrencyInstance(locale)).getDecimalFormatSymbols(); 371994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currency = Currency.getInstance("JPY"); 372994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setInternationalCurrencySymbol(currency.getCurrencyCode()); 373994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 374994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Test1: Returned incorrect currency", currency == dfs 375994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getCurrency()); 376994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test1: Returned incorrect currency symbol", currency 377994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getSymbol(locale), dfs.getCurrencySymbol()); 378994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertTrue("Test1: Returned incorrect international currency symbol", 379994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes currency.getCurrencyCode().equals( 380994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.getInternationalCurrencySymbol())); 381994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 382994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setInternationalCurrencySymbol("bogus"); 383994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // RI support this legacy country code 384994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // assertNotNull("Test2: Returned incorrect currency", dfs.getCurrency()); 385994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Test2: Returned incorrect international currency symbol", 386994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes "bogus", dfs.getInternationalCurrencySymbol()); 387994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 388994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 389994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 390994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setMinusSign(char) 391994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 392994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setMinusSignC() { 393994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setMinusSign('&'); 394994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect MinusSign symbol", '&', dfs 395994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getMinusSign()); 396994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 397994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 398994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 399994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setNaN(java.lang.String) 400994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 401994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setNaNLjava_lang_String() { 402994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setNaN("NAN!!"); 403994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect nan symbol", "NAN!!", dfs.getNaN()); 404994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 405994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 406994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 407994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setPatternSeparator(char) 408994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 409994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setPatternSeparatorC() { 410994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setPatternSeparator('X'); 411994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect PatternSeparator symbol", 'X', dfs 412994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .getPatternSeparator()); 413994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 414994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 415994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 416994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setPercent(char) 417994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 418994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setPercentC() { 419994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setPercent('*'); 420994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect Percent symbol", '*', dfs.getPercent()); 421994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 422994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 423994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 424994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setPerMill(char) 425994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 426994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setPerMillC() { 427994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setPerMill('#'); 428994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Returned incorrect PerMill symbol", '#', dfs.getPerMill()); 429994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 430994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 431994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 432994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests java.text.DecimalFormatSymbols#setZeroDigit(char) 433994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 434994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_setZeroDigitC() { 435994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs.setZeroDigit('*'); 436994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("Set incorrect ZeroDigit symbol", '*', dfs.getZeroDigit()); 437994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 438994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 439994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 440994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Sets up the fixture, for example, open a network connection. This method 441994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * is called before a test is executed. 442994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 443994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes protected void setUp() { 444994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs = new DecimalFormatSymbols(); 445994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfsUS = new DecimalFormatSymbols(new Locale("en", "us")); 446994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 447994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 448994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 449994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Tears down the fixture, for example, close a network connection. This 450994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * method is called after a test is executed. 451994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 452994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes protected void tearDown() { 453994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 454994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 455994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // Test serialization mechanism of DecimalFormatSymbols 456994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_serialization() throws Exception { 457994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.FRANCE); 458994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes Currency currency = symbols.getCurrency(); 459994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertNotNull(currency); 460994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 461994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // serialize 462994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes ByteArrayOutputStream byteOStream = new ByteArrayOutputStream(); 463994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes ObjectOutputStream objectOStream = new ObjectOutputStream(byteOStream); 464994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes objectOStream.writeObject(symbols); 465994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 466994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // and deserialize 467994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes ObjectInputStream objectIStream = new ObjectInputStream( 468994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes new ByteArrayInputStream(byteOStream.toByteArray())); 469994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols symbolsD = (DecimalFormatSymbols) objectIStream 470994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes .readObject(); 471994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 472994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // The associated currency will not persist 473994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes currency = symbolsD.getCurrency(); 474994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertNotNull(currency); 475994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 476994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 477994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 478994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * Assert that Harmony can correct read an instance that was created by 479994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * the Java 1.5 RI. The actual values may differ on Harmony and other JREs, 480994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * so we only assert the values that are known to be in the serialized data. 481994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 482994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void test_RIHarmony_compatible() throws Exception { 483994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols dfs; 484994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes ObjectInputStream i = null; 485994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes try { 486994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes i = new ObjectInputStream(getClass().getClassLoader().getResourceAsStream( 487e5fea3d504609d22337a5311d3ce0e72314bceeeNarayan Kamath "serialization/org/apache/harmony/tests/java/text/DecimalFormatSymbols.ser")); 488994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes dfs = (DecimalFormatSymbols) i.readObject(); 489994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } finally { 490994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes try { 491994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes if (i != null) { 492994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes i.close(); 493994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 494994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } catch (Exception e) { 495994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 496994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 497994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertDecimalFormatSymbolsRIFrance(dfs); 498994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 49974473971cc9d960376295fbcc430320c9ed62991Elliott Hughes 500994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes static void assertDecimalFormatSymbolsRIFrance(DecimalFormatSymbols dfs) { 501994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // Values based on Java 1.5 RI DecimalFormatSymbols for Locale.FRANCE 502994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /* 503994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * currency = [EUR] 504994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * currencySymbol = [€][U+20ac] 505994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * decimalSeparator = [,][U+002c] 506994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * digit = [#][U+0023] 507994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * groupingSeparator = [ ][U+00a0] 508994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * infinity = [∞][U+221e] 509994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * internationalCurrencySymbol = [EUR] 510994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * minusSign = [-][U+002d] 511994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * monetaryDecimalSeparator = [,][U+002c] 512994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * naN = [�][U+fffd] 513994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * patternSeparator = [;][U+003b] 514994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * perMill = [‰][U+2030] 515994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * percent = [%][U+0025] 516994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * zeroDigit = [0][U+0030] 517994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 518994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("EUR", dfs.getCurrency().getCurrencyCode()); 519994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("\u20AC", dfs.getCurrencySymbol()); 520994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals(',', dfs.getDecimalSeparator()); 521994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('#', dfs.getDigit()); 522994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('\u00a0', dfs.getGroupingSeparator()); 523994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("\u221e", dfs.getInfinity()); 524994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("EUR", dfs.getInternationalCurrencySymbol()); 525994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('-', dfs.getMinusSign()); 526994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals(',', dfs.getMonetaryDecimalSeparator()); 527994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes // RI's default NaN is U+FFFD, Harmony's is based on ICU 528994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals("\uFFFD", dfs.getNaN()); 529994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('\u003b', dfs.getPatternSeparator()); 530994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('\u2030', dfs.getPerMill()); 531994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('%', dfs.getPercent()); 532994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes assertEquals('0', dfs.getZeroDigit()); 533994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 534994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes 535994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 536994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests serialization/deserialization compatibility with RI6. 537994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 538994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void testSerializationCompatibility() throws Exception { 539994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.US); 540994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes symbols.setExponentSeparator("EE"); 541994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes symbols.setNaN("NaN"); 542994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes SerializationTest.verifyGolden(this, symbols); 543994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 54474473971cc9d960376295fbcc430320c9ed62991Elliott Hughes 545994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes /** 546994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes * @tests serialization/deserialization compatibility. 547994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes */ 548994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes public void testSerializationSelf() throws Exception { 549994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.ITALIAN); 550994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes SerializationTest.verifySelf(symbols); 551994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes } 552994e4e5ded616a100ca42b16cffa36aa9f595f64Elliott Hughes} 553