1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.text.tests.java.text; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayInputStream; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayOutputStream; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.File; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ObjectInputStream; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ObjectOutputStream; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.net.URL; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.DecimalFormat; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.DecimalFormatSymbols; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.NumberFormat; 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Currency; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Locale; 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ServiceConfigurationError; 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.testframework.serialization.SerializationTest; 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.text.tests.java.text.MockedDecimalFormatSymbolsProvider.MockedDecimalFormatSymbols; 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class DecimalFormatSymbolsTest extends TestCase { 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfs; 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfsUS; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#DecimalFormatSymbols() 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() { 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.text.DecimalFormatSymbols() 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Used in tests 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#DecimalFormatSymbols(java.util.Locale) 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_util_Locale() { 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfs = new DecimalFormatSymbols(new Locale("en", 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "us")); 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect symbols", '%', dfs.getPercent()); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getAvailableLocales() 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales_no_provider() throws Exception { 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale[] locales = DecimalFormatSymbols.getAvailableLocales(); 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(locales); 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // must contain Locale.US 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean flag = false; 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (Locale locale : locales) { 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (locale.equals(Locale.US)) { 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes flag = true; 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes break; 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(flag); 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getAvailableLocales() 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales_correct_provider() throws Exception { 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/correct").toURL(); 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/correct").toURL(); 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale[] locales = DecimalFormatSymbols.getAvailableLocales(); 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(locales); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // must contain mock Locale 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean flag = false; 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (Locale locale : locales) { 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (locale.getLanguage().equals("mock")) { 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes flag = true; 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes break; 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(flag); 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getAvailableLocales() 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales_wrong_provider() throws Exception { 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/wrong").toURL(); 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/wrong").toURL(); 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols.getAvailableLocales(); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw ServiceConfigurationError"); 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ServiceConfigurationError e) { 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInstance() 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstance() { 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DecimalFormatSymbols(), DecimalFormatSymbols.getInstance()); 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DecimalFormatSymbols(Locale.getDefault()), 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols.getInstance()); 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotSame(DecimalFormatSymbols.getInstance(), DecimalFormatSymbols.getInstance()); 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInstance(Locale) 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale() { 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols.getInstance(null); 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DecimalFormatSymbols(Locale.GERMANY), DecimalFormatSymbols 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(Locale.GERMANY)); 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale locale = new Locale("not exist language", "not exist country"); 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(symbols); 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(DecimalFormatSymbols.getInstance(), symbols); 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInstance(Locale) 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale_no_provider() { 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols.getInstance(null); 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DecimalFormatSymbols(Locale.GERMANY), DecimalFormatSymbols 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(Locale.GERMANY)); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale locale = new Locale("not exist language", "not exist country"); 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(locale); 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(symbols); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(DecimalFormatSymbols.getInstance(), symbols); 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInstance(Locale) 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale_correct_provider() 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws Exception { 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/correct").toURL(); 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/correct").toURL(); 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = DecimalFormatSymbols 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(new Locale("Mock")); 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(symbols instanceof MockedDecimalFormatSymbols); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInstance(Locale) 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale_wrong_provider() 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws Exception { 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/wrong").toURL(); 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/wrong").toURL(); 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = DecimalFormatSymbols 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(new Locale("Mock")); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw ServiceConfigurationError"); 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ServiceConfigurationError e) { 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#equals(java.lang.Object) 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equalsLjava_lang_Object() { 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Equal objects returned false", dfs.equals(dfs.clone())); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setDigit('B'); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Un-Equal objects returned true", !dfs 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new DecimalFormatSymbols())); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getCurrency() 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getCurrency() { 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currency = Currency.getInstance("USD"); 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect currency", 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfsUS.getCurrency(), currency); 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currK = Currency.getInstance("KRW"); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currX = Currency.getInstance("XXX"); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currE = Currency.getInstance("EUR"); 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Currency currF = Currency.getInstance("FRF"); 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfs1 = new DecimalFormatSymbols(new Locale("ko", 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "KR")); 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Test1: Returned incorrect currency", 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getCurrency() == currK); 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test1: Returned incorrect currencySymbol", "\u20a9", dfs1 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencySymbol()); 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test1: Returned incorrect intlCurrencySymbol", "KRW", 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getInternationalCurrencySymbol()); 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1 = new DecimalFormatSymbols(new Locale("", "KR")); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Test2: Returned incorrect currency", 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getCurrency() == currK); 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test2: Returned incorrect currencySymbol", "\u20a9", dfs1 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencySymbol()); 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test2: Returned incorrect intlCurrencySymbol", "KRW", 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getInternationalCurrencySymbol()); 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1 = new DecimalFormatSymbols(new Locale("ko", "")); 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Test3: Returned incorrect currency", 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getCurrency() == currX); 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test3: Returned incorrect currencySymbol", "\u00a4", dfs1 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencySymbol()); 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test3: Returned incorrect intlCurrencySymbol", "XXX", 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getInternationalCurrencySymbol()); 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1 = new DecimalFormatSymbols(new Locale("fr", "FR")); 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Test4: Returned incorrect currency", 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getCurrency() == currE); 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test4: Returned incorrect currencySymbol", "\u20ac", dfs1 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencySymbol()); 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test4: Returned incorrect intlCurrencySymbol", "EUR", 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs1.getInternationalCurrencySymbol()); 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // RI fails these tests since it doesn't have the PREEURO variant 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // dfs1 = new DecimalFormatSymbols(new Locale("fr", "FR","PREEURO")); 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // assertTrue("Test5: Returned incorrect currency", dfs1.getCurrency() 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // == currF); 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // assertTrue("Test5: Returned incorrect currencySymbol", 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // dfs1.getCurrencySymbol().equals("F")); 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // assertTrue("Test5: Returned incorrect intlCurrencySymbol", 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // dfs1.getInternationalCurrencySymbol().equals("FRF")); 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getCurrencySymbol() 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getCurrencySymbol() { 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect currencySymbol", "$", dfsUS 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencySymbol()); 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getDecimalSeparator() 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDecimalSeparator() { 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setDecimalSeparator('*'); 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect DecimalSeparator symbol", '*', dfs 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getDecimalSeparator()); 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getDigit() 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDigit() { 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setDigit('*'); 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Digit symbol", '*', dfs.getDigit()); 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getExponentSeparator() 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getExponentSeparator() { 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setExponentSeparator("EE"); 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", "EE", dfs 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getExponentSeparator()); 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getGroupingSeparator() 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getGroupingSeparator() { 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setGroupingSeparator('*'); 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect GroupingSeparator symbol", '*', dfs 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getGroupingSeparator()); 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInfinity() 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInfinity() { 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setInfinity("&"); 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect Infinity symbol", 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.getInfinity() == "&"); 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getInternationalCurrencySymbol() 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInternationalCurrencySymbol() { 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect InternationalCurrencySymbol", "USD", 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfsUS.getInternationalCurrencySymbol()); 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getMinusSign() 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getMinusSign() { 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setMinusSign('&'); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect MinusSign symbol", '&', dfs 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMinusSign()); 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getNaN() 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getNaN() { 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setNaN("NAN!!"); 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect nan symbol", "NAN!!", dfs.getNaN()); 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getPatternSeparator() 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getPatternSeparator() { 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setPatternSeparator('X'); 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect PatternSeparator symbol", 'X', dfs 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getPatternSeparator()); 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getPercent() 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getPercent() { 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setPercent('*'); 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Percent symbol", '*', dfs.getPercent()); 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getPerMill() 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getPerMill() { 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setPerMill('#'); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect PerMill symbol", '#', dfs.getPerMill()); 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#getZeroDigit() 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getZeroDigit() { 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZeroDigit('*'); 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect ZeroDigit symbol", '*', dfs 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getZeroDigit()); 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setCurrency(java.util.Currency) 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setCurrencyLjava_util_Currency() { 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale locale = Locale.CANADA; 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfs = ((DecimalFormat) NumberFormat 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencyInstance(locale)).getDecimalFormatSymbols(); 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setCurrency(null); 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Expected NullPointerException"); 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currency = Currency.getInstance("JPY"); 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setCurrency(currency); 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect currency", currency == dfs.getCurrency()); 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect currency symbol", currency.getSymbol( 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes locale), dfs.getCurrencySymbol()); 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect international currency symbol", currency 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencyCode().equals(dfs.getInternationalCurrencySymbol())); 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setDecimalSeparator(char) 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setDecimalSeparatorC() { 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setDecimalSeparator('*'); 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect DecimalSeparator symbol", '*', dfs 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getDecimalSeparator()); 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setDigit(char) 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setDigitC() { 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setDigit('*'); 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Digit symbol", '*', dfs.getDigit()); 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setExponentSeparator(String) 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setExponentSeparator() { 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setExponentSeparator(null); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setExponentSeparator(""); 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", "", dfs 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getExponentSeparator()); 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setExponentSeparator("what ever you want"); 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "what ever you want", dfs.getExponentSeparator()); 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setExponentSeparator(" E "); 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Exponent Separator symbol", " E ", dfs 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getExponentSeparator()); 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setGroupingSeparator(char) 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setGroupingSeparatorC() { 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setGroupingSeparator('*'); 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect GroupingSeparator symbol", '*', dfs 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getGroupingSeparator()); 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setInfinity(java.lang.String) 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setInfinityLjava_lang_String() { 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setInfinity("&"); 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect Infinity symbol", 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.getInfinity() == "&"); 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setInternationalCurrencySymbol(java.lang.String) 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setInternationalCurrencySymbolLjava_lang_String() { 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale locale = Locale.CANADA; 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfs = ((DecimalFormat) NumberFormat 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrencyInstance(locale)).getDecimalFormatSymbols(); 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currency = Currency.getInstance("JPY"); 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setInternationalCurrencySymbol(currency.getCurrencyCode()); 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Test1: Returned incorrect currency", currency == dfs 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getCurrency()); 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test1: Returned incorrect currency symbol", currency 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getSymbol(locale), dfs.getCurrencySymbol()); 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Test1: Returned incorrect international currency symbol", 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes currency.getCurrencyCode().equals( 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.getInternationalCurrencySymbol())); 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setInternationalCurrencySymbol("bogus"); 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // RI support this legacy country code 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // assertNotNull("Test2: Returned incorrect currency", dfs.getCurrency()); 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Test2: Returned incorrect international currency symbol", 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "bogus", dfs.getInternationalCurrencySymbol()); 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setMinusSign(char) 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setMinusSignC() { 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setMinusSign('&'); 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect MinusSign symbol", '&', dfs 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMinusSign()); 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setNaN(java.lang.String) 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setNaNLjava_lang_String() { 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setNaN("NAN!!"); 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect nan symbol", "NAN!!", dfs.getNaN()); 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setPatternSeparator(char) 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setPatternSeparatorC() { 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setPatternSeparator('X'); 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect PatternSeparator symbol", 'X', dfs 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getPatternSeparator()); 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setPercent(char) 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setPercentC() { 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setPercent('*'); 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect Percent symbol", '*', dfs.getPercent()); 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setPerMill(char) 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setPerMillC() { 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setPerMill('#'); 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect PerMill symbol", '#', dfs.getPerMill()); 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DecimalFormatSymbols#setZeroDigit(char) 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setZeroDigitC() { 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZeroDigit('*'); 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Set incorrect ZeroDigit symbol", '*', dfs.getZeroDigit()); 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Sets up the fixture, for example, open a network connection. This method 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * is called before a test is executed. 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() { 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs = new DecimalFormatSymbols(); 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfsUS = new DecimalFormatSymbols(new Locale("en", "us")); 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tears down the fixture, for example, close a network connection. This 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * method is called after a test is executed. 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() { 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test serialization mechanism of DecimalFormatSymbols 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_serialization() throws Exception { 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.FRANCE); 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Currency currency = symbols.getCurrency(); 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(currency); 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // serialize 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ByteArrayOutputStream byteOStream = new ByteArrayOutputStream(); 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ObjectOutputStream objectOStream = new ObjectOutputStream(byteOStream); 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectOStream.writeObject(symbols); 595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // and deserialize 597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ObjectInputStream objectIStream = new ObjectInputStream( 598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new ByteArrayInputStream(byteOStream.toByteArray())); 599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbolsD = (DecimalFormatSymbols) objectIStream 600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .readObject(); 601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // The associated currency will not persist 603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes currency = symbolsD.getCurrency(); 604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(currency); 605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assert that Harmony can correct read an instance that was created by 609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the Java 1.5 RI. The actual values may differ on Harmony and other JREs, 610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * so we only assert the values that are known to be in the serialized data. 611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_RIHarmony_compatible() throws Exception { 613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols dfs; 614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ObjectInputStream i = null; 615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i = new ObjectInputStream(getClass().getClassLoader().getResourceAsStream( 617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "/serialization/java/text/DecimalFormatSymbols.ser")); 618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs = (DecimalFormatSymbols) i.readObject(); 619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } finally { 620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (i != null) { 622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes i.close(); 623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (Exception e) { 625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertDecimalFormatSymbolsRIFrance(dfs); 628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static void assertDecimalFormatSymbolsRIFrance(DecimalFormatSymbols dfs) { 631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Values based on Java 1.5 RI DecimalFormatSymbols for Locale.FRANCE 632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /* 633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * currency = [EUR] 634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * currencySymbol = [€][U+20ac] 635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * decimalSeparator = [,][U+002c] 636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * digit = [#][U+0023] 637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * groupingSeparator = [ ][U+00a0] 638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * infinity = [∞][U+221e] 639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * internationalCurrencySymbol = [EUR] 640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * minusSign = [-][U+002d] 641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * monetaryDecimalSeparator = [,][U+002c] 642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * naN = [�][U+fffd] 643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * patternSeparator = [;][U+003b] 644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * perMill = [‰][U+2030] 645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * percent = [%][U+0025] 646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * zeroDigit = [0][U+0030] 647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("EUR", dfs.getCurrency().getCurrencyCode()); 649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("\u20AC", dfs.getCurrencySymbol()); 650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(',', dfs.getDecimalSeparator()); 651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('#', dfs.getDigit()); 652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('\u00a0', dfs.getGroupingSeparator()); 653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("\u221e", dfs.getInfinity()); 654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("EUR", dfs.getInternationalCurrencySymbol()); 655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('-', dfs.getMinusSign()); 656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(',', dfs.getMonetaryDecimalSeparator()); 657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // RI's default NaN is U+FFFD, Harmony's is based on ICU 658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("\uFFFD", dfs.getNaN()); 659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('\u003b', dfs.getPatternSeparator()); 660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('\u2030', dfs.getPerMill()); 661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('%', dfs.getPercent()); 662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('0', dfs.getZeroDigit()); 663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests serialization/deserialization compatibility with RI6. 667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testSerializationCompatibility() throws Exception { 669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.US); 670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes symbols.setExponentSeparator("EE"); 671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes symbols.setNaN("NaN"); 672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifyGolden(this, symbols); 673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests serialization/deserialization compatibility. 677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testSerializationSelf() throws Exception { 679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.ITALIAN); 680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifySelf(symbols); 681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 683