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 Hughespackage org.apache.harmony.text.tests.java.text; 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.File; 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.net.URL; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayInputStream; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ByteArrayOutputStream; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ObjectInputStream; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.ObjectOutputStream; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.DateFormatSymbols; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Arrays; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Locale; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ServiceConfigurationError; 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.text.tests.java.text.MockedDateFormatSymbolsProvider.MockedDateFormatSymbols; 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class DateFormatSymbolsTest extends junit.framework.TestCase { 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private DateFormatSymbols dfs; 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#DateFormatSymbols() 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() { 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.text.DateFormatSymbols() 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Used in tests 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(); 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#DateFormatSymbols(java.util.Locale) 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_util_Locale() { 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.text.DateFormatSymbols(java.util.Locale) 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(new Locale("en", "us")); 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getAvailableLocales() 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales_no_provider() throws Exception { 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale[] locales = DateFormatSymbols.getAvailableLocales(); 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(locales); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // must contain Locale.US 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean flag = false; 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (Locale locale : locales) { 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (locale.equals(Locale.US)) { 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes flag = true; 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes break; 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(flag); 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getAvailableLocales() 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales_correct_provider() throws Exception { 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/correct").toURL(); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/correct").toURL(); 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale[] locales = DateFormatSymbols.getAvailableLocales(); 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(locales); 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // must contain mock Locale 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean flag = false; 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (Locale locale : locales) { 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (locale.getLanguage().equals("mock")) { 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes flag = true; 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes break; 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(flag); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getAvailableLocales() 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales_wrong_provider() throws Exception { 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/wrong").toURL(); 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/wrong").toURL(); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols.getAvailableLocales(); 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw ServiceConfigurationError"); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ServiceConfigurationError e) { 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getInstance() 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstance() { 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols.getInstance(); 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DateFormatSymbols(), DateFormatSymbols.getInstance()); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DateFormatSymbols(Locale.getDefault()), 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols.getInstance()); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotSame(DateFormatSymbols.getInstance(), DateFormatSymbols.getInstance()); 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale() { 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols.getInstance(null); 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DateFormatSymbols(Locale.GERMANY), DateFormatSymbols 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(Locale.GERMANY)); 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale locale = new Locale("not exist language", "not exist country"); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols symbols = DateFormatSymbols.getInstance(locale); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(symbols); 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(DateFormatSymbols.getInstance(), symbols); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getInstance(Locale) 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale_no_provider() { 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols.getInstance(null); 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(new DateFormatSymbols(Locale.GERMANY), DateFormatSymbols 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(Locale.GERMANY)); 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale locale = new Locale("not exist language", "not exist country"); 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols symbols = DateFormatSymbols.getInstance(locale); 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(symbols); 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(DateFormatSymbols.getInstance(), symbols); 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getInstance(Locale) 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale_correct_provider() 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws Exception { 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/correct").toURL(); 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/correct").toURL(); 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols symbols = DateFormatSymbols 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getInstance(new Locale("Mock")); 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(symbols instanceof MockedDateFormatSymbols); 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getInstance(Locale) 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstanceLjava_util_Locale_wrong_provider() 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws Exception { 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path1 = new File("src/test/resources/provider/wrong").toURL(); 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes URL path2 = new File("resources/provider/wrong").toURL(); 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes LoadLocaleProviderTestHelper helper = new LoadLocaleProviderTestHelper( 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new URL[] { path1, path2 }) { 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test() { 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols.getInstance(new Locale("Mock")); 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw ServiceConfigurationError"); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ServiceConfigurationError e) { 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (helper.getThrowable() != null) { 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new Exception(helper.getThrowable()); 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#clone() 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clone() { 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.Object java.text.DateFormatSymbols.clone() 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols symbols = new DateFormatSymbols(); 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols clone = (DateFormatSymbols) symbols.clone(); 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Not equal", symbols.equals(clone)); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#equals(java.lang.Object) 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equalsLjava_lang_Object() { 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.equals(java.lang.Object) 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Equal object returned true", dfs.equals(dfs.clone())); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setLocalPatternChars("KKKKKKKKK"); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Un-Equal objects returned false", !dfs 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new DateFormatSymbols())); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getAmPmStrings() 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAmPmStrings() { 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [] 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getAmPmStrings() 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getAmPmStrings(); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "AM", "PM" }; 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array values do not match", retVal[i].equals(val[i])); 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getEras() 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getEras() { 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [] 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getEras() 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getEras(); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "BC", "AD" }; 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array values do not match", retVal[i].equals(val[i])); 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getLocalPatternChars() 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getLocalPatternChars() { 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getLocalPatternChars() 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String retVal = dfs.getLocalPatternChars(); 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String val = "GyMdkHmsSEDFwWahKzYeugAZvcLQqV"; 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect pattern string", val, retVal); 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getMonths() 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getMonths() { 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [] 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getMonths() 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getMonths(); 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "January", "February", "March", "April", "May", 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "June", "July", "August", "September", "October", "November", 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "December"}; 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned wrong array: ", val.length, retVal.length); 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array values do not match", retVal[i].equals(val[i])); 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getShortMonths() 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getShortMonths() { 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [] 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getShortMonths() 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getShortMonths(); 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Aug", "Sep", "Oct", "Nov", "Dec"}; 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned wrong array: ", val.length, retVal.length); 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array values do not match", retVal[i].equals(val[i])); 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getShortWeekdays() 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getShortWeekdays() { 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [] 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getShortWeekdays() 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getShortWeekdays(); 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array values do not match", retVal[i].equals(val[i])); 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getWeekdays() 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getWeekdays() { 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [] 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getWeekdays() 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getWeekdays(); 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "", "Sunday", "Monday", "Tuesday", "Wednesday", 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "Thursday", "Friday", "Saturday" }; 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Array values do not match", retVal[i].equals(val[i])); 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#getZoneStrings() 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getZoneStrings() { 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.lang.String [][] 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.getZoneStrings() 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] val = { { "XX", "XX", "XX", "XX", "XX" }, 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes { "YY", "YY", "YY", "YY", "YY" } }; 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZoneStrings(val); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] retVal = dfs.getZoneStrings(); 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", Arrays 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(retVal[i], val[i])); 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#hashCode() 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_hashCode() { 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.text.DateFormatSymbols.hashCode() 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int hc1 = dfs.hashCode(); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int hc2 = dfs.hashCode(); 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("hashCode() returned inconsistent number : " + hc1 + " - " + hc2, hc1 == hc2); 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("hashCode() returns different values for equal() objects", 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.hashCode() == dfs.clone().hashCode()); 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setAmPmStrings(java.lang.String[]) 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setAmPmStrings$Ljava_lang_String() { 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setAmPmStrings(java.lang.String []) 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "XX", "YY" }; 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setAmPmStrings(val); 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getAmPmStrings(); 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", retVal[i].equals(val[i])); 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setEras(java.lang.String[]) 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setEras$Ljava_lang_String() { 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setEras(java.lang.String []) 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "XX", "YY" }; 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setEras(val); 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getEras(); 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", retVal[i].equals(val[i])); 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setLocalPatternChars(java.lang.String) 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setLocalPatternCharsLjava_lang_String() { 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setLocalPatternChars(java.lang.String) 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setLocalPatternChars("GyMZZkHmsSEHHFwWahKz"); 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String retVal = dfs.getLocalPatternChars(); 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String val = "GyMZZkHmsSEHHFwWahKz"; 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect pattern string", retVal.equals(val)); 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-466 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols().setLocalPatternChars(null); 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("NullPointerException expected"); 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setMonths(java.lang.String[]) 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setMonths$Ljava_lang_String() { 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setMonths(java.lang.String []) 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "XX", "YY" }; 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setMonths(val); 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getMonths(); 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Return is identical", retVal != dfs.getMonths()); 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", retVal[i].equals(val[i])); 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setShortMonths(java.lang.String[]) 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setShortMonths$Ljava_lang_String() { 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setShortMonths(java.lang.String []) 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "XX", "YY" }; 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setShortMonths(val); 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getShortMonths(); 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Return is identical", retVal != dfs.getShortMonths()); 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", retVal[i].equals(val[i])); 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setShortWeekdays(java.lang.String[]) 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setShortWeekdays$Ljava_lang_String() { 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setShortWeekdays(java.lang.String []) 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "XX", "YY" }; 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setShortWeekdays(val); 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getShortWeekdays(); 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Return is identical", retVal != dfs.getShortWeekdays()); 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", retVal[i].equals(val[i])); 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setWeekdays(java.lang.String[]) 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setWeekdays$Ljava_lang_String() { 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setWeekdays(java.lang.String []) 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] val = { "XX", "YY" }; 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setWeekdays(val); 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] retVal = dfs.getWeekdays(); 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Return is identical", retVal != dfs.getWeekdays()); 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (retVal.length != val.length) 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Returned wrong array"); 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings", retVal[i].equals(val[i])); 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setZoneStrings(java.lang.String[][]) 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setZoneStrings$$Ljava_lang_String() { 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.text.DateFormatSymbols.setZoneStrings(java.lang.String [][]) 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] val = { { "XX", "XX", "XX", "XX", "XX" }, 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes { "YY", "YY", "YY", "YY", "YY" } }; 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZoneStrings(val); 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] retVal = dfs.getZoneStrings(); 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("get returns identical", retVal != dfs.getZoneStrings()); 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("get[0] returns identical", retVal[0] != dfs 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getZoneStrings()[0]); 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("get returned identical", retVal != val); 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned wrong array", val.length, retVal.length); 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < val.length; i++) 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to set strings: " + retVal[i], Arrays.equals( 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes retVal[i], val[i])); 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormatSymbols#setZoneStrings(java.lang.String[][]) 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests setting zone strings to invalid values 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Regression for HARMONY-6337 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setZoneStrings_invalid() { 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // failing cases 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] val1 = null; 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZoneStrings(val1); 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Attempt to set zone strings a null array should throw NullPointerException"); 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] val2 = { { "XX", "XX" }, { "YY", "YY" } }; 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZoneStrings(val2); 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Attempt to set zone strings to a 2D array that contains one or more " 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + "rows of length less than 5 should throw IllegalArgumentException"); 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected because each subarray has length < 5 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] val3 = { { "a", "b", "c", "d", "e" }, 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes { "a", "b", "c", "d", "e" }, 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes { "a", "b", "c", "d" }, 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes { "a", "b", "c", "d", "e" } }; 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs.setZoneStrings(val3); 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Attempt to set zone strings to a 2D array that contains one or more " 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + "rows of length less than 5 should throw IllegalArgumentException"); 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected because each subarray has length < 5 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Sets up the fixture, for example, open a network connection. This method 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * is called before a test is executed. 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() { 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dfs = new DateFormatSymbols(new Locale("en", "us")); 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tears down the fixture, for example, close a network connection. This 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * method is called after a test is executed. 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() { 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test serialization mechanism of DateFormatSymbols 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_serialization() throws Exception { 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols symbols = new DateFormatSymbols(Locale.FRANCE); 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] zoneStrings = symbols.getZoneStrings(); 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(zoneStrings); 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // serialize 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ByteArrayOutputStream byteOStream = new ByteArrayOutputStream(); 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ObjectOutputStream objectOStream = new ObjectOutputStream(byteOStream); 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes objectOStream.writeObject(symbols); 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // and deserialize 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ObjectInputStream objectIStream = new ObjectInputStream( 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new ByteArrayInputStream(byteOStream.toByteArray())); 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormatSymbols symbolsD = (DateFormatSymbols) objectIStream 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .readObject(); 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // The associated currency will not persist 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[][] zoneStringsD = symbolsD.getZoneStrings(); 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(zoneStringsD); 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(symbols, symbolsD); 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 582