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.text.DateFormat; 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.DateFormatSymbols; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.NumberFormat; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.ParseException; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.SimpleDateFormat; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Calendar; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Date; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Locale; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class DateFormatTest extends junit.framework.TestCase { 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#clone() 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clone() { 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat format = DateFormat.getInstance(); 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat clone = (DateFormat) format.clone(); 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Clone not equal", format.equals(clone)); 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes clone.getNumberFormat().setMinimumFractionDigits(123); 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Clone shares NumberFormat", !format.equals(clone)); 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getAvailableLocales() 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getAvailableLocales() { 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale[] locales = DateFormat.getAvailableLocales(); 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("No locales", locales.length > 0); 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes boolean english = false, german = false; 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = locales.length; --i >= 0;) { 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (locales[i].equals(Locale.ENGLISH)) 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes english = true; 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (locales[i].equals(Locale.GERMAN)) 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes german = true; 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat f1 = DateFormat.getDateTimeInstance(DateFormat.SHORT, 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.SHORT, locales[i]); 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f1.format(new Date()).getClass() == String.class); 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Missing locales", english && german); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getCalendar() 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getCalendar() { 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat format = DateFormat.getInstance(); 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Calendar cal1 = format.getCalendar(); 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Calendar cal2 = format.getCalendar(); 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Calendars not identical", cal1 == cal2); 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getDateInstance() 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDateInstance() { 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat.getDateInstance(); 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default", f2.equals(DateFormat.getDateInstance( 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.DEFAULT, Locale.getDefault()))); 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getDateInstance(int) 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDateInstanceI() { 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Default not medium", 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.DEFAULT == DateFormat.MEDIUM); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getDateInstance(DateFormat.SHORT); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class1", f2.getClass() == SimpleDateFormat.class); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default1", f2.equals(DateFormat.getDateInstance( 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.SHORT, Locale.getDefault()))); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols1", f2.getDateFormatSymbols().equals( 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work1", 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.MEDIUM); 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class2", f2.getClass() == SimpleDateFormat.class); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default2", f2.equals(DateFormat.getDateInstance( 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.MEDIUM, Locale.getDefault()))); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols2", f2.getDateFormatSymbols().equals( 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work2", 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.LONG); 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class3", f2.getClass() == SimpleDateFormat.class); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default3", f2.equals(DateFormat.getDateInstance( 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.LONG, Locale.getDefault()))); 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols3", f2.getDateFormatSymbols().equals( 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work3", 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.FULL); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class4", f2.getClass() == SimpleDateFormat.class); 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default4", f2.equals(DateFormat.getDateInstance( 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.FULL, Locale.getDefault()))); 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols4", f2.getDateFormatSymbols().equals( 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work4", 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression test for HARMONY-940 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.getDateInstance(77); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw IAE"); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException iae) { 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getDateInstance(int, java.util.Locale) 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDateInstanceILjava_util_Locale() { 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat.getDateInstance( 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.SHORT, Locale.GERMAN); 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.MEDIUM, 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale.GERMAN); 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.LONG, 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale.GERMAN); 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.FULL, 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale.GERMAN); 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression test for HARMONY-940 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.getDateInstance(77, Locale.GERMAN); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw IAE"); 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException iae) { 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getDateTimeInstance() 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDateTimeInstance() { 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getDateTimeInstance(); 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default", f2.equals(DateFormat.getDateTimeInstance( 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.getDefault()))); 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private void testDateTime(int dStyle, int tStyle) { 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getDateTimeInstance(dStyle, tStyle); 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat date = (SimpleDateFormat) DateFormat.getDateInstance( 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dStyle, Locale.getDefault()); 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat time = (SimpleDateFormat) DateFormat.getTimeInstance( 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes tStyle, Locale.getDefault()); 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default", f2.toPattern().equals( 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes date.toPattern() + " " + time.toPattern())); 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getDateTimeInstance(int, int) 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDateTimeInstanceII() { 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.SHORT, DateFormat.SHORT); 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.SHORT, DateFormat.MEDIUM); 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.SHORT, DateFormat.LONG); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.SHORT, DateFormat.FULL); 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.MEDIUM, DateFormat.SHORT); 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.MEDIUM, DateFormat.MEDIUM); 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.MEDIUM, DateFormat.LONG); 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.MEDIUM, DateFormat.FULL); 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.LONG, DateFormat.SHORT); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.LONG, DateFormat.MEDIUM); 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.LONG, DateFormat.LONG); 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.LONG, DateFormat.FULL); 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.FULL, DateFormat.SHORT); 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.FULL, DateFormat.MEDIUM); 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.FULL, DateFormat.LONG); 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTime(DateFormat.FULL, DateFormat.FULL); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression test for HARMONY-940 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.getDateTimeInstance(77, 66); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw IAE"); 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException iae) { 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private void testDateTimeLocale(int dStyle, int tStyle) { 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getDateTimeInstance(dStyle, tStyle, Locale.GERMAN); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat date = (SimpleDateFormat) DateFormat.getDateInstance( 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes dStyle, Locale.GERMAN); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat time = (SimpleDateFormat) DateFormat.getTimeInstance( 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes tStyle, Locale.GERMAN); 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default", f2.toPattern().equals( 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes date.toPattern() + " " + time.toPattern())); 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getDateTimeInstance(int, int, 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.util.Locale) 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getDateTimeInstanceIILjava_util_Locale() { 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.SHORT, DateFormat.SHORT); 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.SHORT, DateFormat.MEDIUM); 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.SHORT, DateFormat.LONG); 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.SHORT, DateFormat.FULL); 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.MEDIUM, DateFormat.SHORT); 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.MEDIUM, DateFormat.MEDIUM); 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.MEDIUM, DateFormat.LONG); 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.MEDIUM, DateFormat.FULL); 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.LONG, DateFormat.SHORT); 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.LONG, DateFormat.MEDIUM); 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.LONG, DateFormat.LONG); 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.LONG, DateFormat.FULL); 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.FULL, DateFormat.SHORT); 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.FULL, DateFormat.MEDIUM); 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.FULL, DateFormat.LONG); 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testDateTimeLocale(DateFormat.FULL, DateFormat.FULL); 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression test for HARMONY-940 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.getDateTimeInstance(77, 66, Locale.GERMAN); 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw IAE"); 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException iae) { 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getInstance() 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getInstance() { 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat.getInstance(); 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default", f2.equals(DateFormat.getDateTimeInstance( 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.SHORT, DateFormat.SHORT, Locale.getDefault()))); 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getNumberFormat() 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getNumberFormat() { 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat format = DateFormat.getInstance(); 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes NumberFormat nf1 = format.getNumberFormat(); 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes NumberFormat nf2 = format.getNumberFormat(); 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("NumberFormats not identical", nf1 == nf2); 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getTimeInstance() 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getTimeInstance() { 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat.getTimeInstance(); 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default", f2.equals(DateFormat.getTimeInstance( 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.DEFAULT, Locale.getDefault()))); 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getTimeInstance(int) 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getTimeInstanceI() { 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeInstance(DateFormat.SHORT); 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class1", f2.getClass() == SimpleDateFormat.class); 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default1", f2.equals(DateFormat.getTimeInstance( 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.SHORT, Locale.getDefault()))); 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols1", f2.getDateFormatSymbols().equals( 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work1", 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.MEDIUM); 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class2", f2.getClass() == SimpleDateFormat.class); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default2", f2.equals(DateFormat.getTimeInstance( 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.MEDIUM, Locale.getDefault()))); 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols2", f2.getDateFormatSymbols().equals( 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work2", 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.LONG); 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class3", f2.getClass() == SimpleDateFormat.class); 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default3", f2.equals(DateFormat.getTimeInstance( 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.LONG, Locale.getDefault()))); 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols3", f2.getDateFormatSymbols().equals( 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work3", 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.FULL); 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class4", f2.getClass() == SimpleDateFormat.class); 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong default4", f2.equals(DateFormat.getTimeInstance( 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.FULL, Locale.getDefault()))); 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols4", f2.getDateFormatSymbols().equals( 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols())); 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work4", 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression test for HARMONY-940 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.getTimeInstance(77); 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw IAE"); 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException iae) { 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#getTimeInstance(int, java.util.Locale) 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getTimeInstanceILjava_util_Locale() { 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleDateFormat f2 = (SimpleDateFormat) DateFormat.getTimeInstance( 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.SHORT, Locale.GERMAN); 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.MEDIUM, 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale.GERMAN); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.LONG, 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale.GERMAN); 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2 = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.FULL, 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Locale.GERMAN); 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong class", f2.getClass() == SimpleDateFormat.class); 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong symbols", f2.getDateFormatSymbols().equals( 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new DateFormatSymbols(Locale.GERMAN))); 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Doesn't work", 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes f2.format(new Date()).getClass() == String.class); 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // regression test for HARMONY-940 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat.getTimeInstance(77, Locale.GERMAN); 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw IAE"); 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException iae) { 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#setCalendar(java.util.Calendar) 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setCalendarLjava_util_Calendar() { 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat format = DateFormat.getInstance(); 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Calendar cal = Calendar.getInstance(); 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes format.setCalendar(cal); 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Not identical Calendar", cal == format.getCalendar()); 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#setNumberFormat(java.text.NumberFormat) 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setNumberFormatLjava_text_NumberFormat() { 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat format = DateFormat.getInstance(); 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes NumberFormat f1 = NumberFormat.getInstance(); 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes format.setNumberFormat(f1); 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Not identical NumberFormat", f1 == format.getNumberFormat()); 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#parse(String) 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_parse_LString() { 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat format = DateFormat.getInstance(); 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes format.parse("not a Date"); 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ParseException first"); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ParseException e) { 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(e.getMessage()); 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.text.DateFormat#setLenient(boolean) 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setLenient() { 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date d = null; 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes DateFormat output = new SimpleDateFormat("MM/dd/yy"); 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes output.setLenient(false); 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes d = output.parse("01/01/-1"); 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw ParseException here."); 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ParseException e) {} 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 476