1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.util; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.BitSet; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Calendar; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Date; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.GregorianCalendar; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Locale; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.SimpleTimeZone; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.TimeZone; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Vector; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class GregorianCalendarTest extends junit.framework.TestCase { 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar() 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() { 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar() 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Constructed incorrect calendar", (new GregorianCalendar() 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .isLenient())); 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar(int, int, int) 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorIII() { 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar(int, int, int) 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 13); 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed 1", 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1972, gc.get(Calendar.YEAR)); 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar constructed 2", 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.get(Calendar.MONTH) == Calendar.OCTOBER); 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed 3", 13, gc 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.DAY_OF_MONTH)); 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar constructed 4", gc.getTimeZone().equals( 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getDefault())); 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar(int, int, int, int, 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * int) 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorIIIII() { 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar(int, int, int, int, int) 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 13, 19, 9); 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1972, gc.get(Calendar.YEAR)); 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar constructed", 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.get(Calendar.MONTH) == Calendar.OCTOBER); 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 13, gc 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.DAY_OF_MONTH)); 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 7, gc.get(Calendar.HOUR)); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1, gc.get(Calendar.AM_PM)); 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 9, gc.get(Calendar.MINUTE)); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar constructed", gc.getTimeZone().equals( 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getDefault())); 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //Regression for HARMONY-998 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(1900, 0, 0, 0, Integer.MAX_VALUE); 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 5983, gc.get(Calendar.YEAR)); 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar(int, int, int, int, 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * int, int) 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorIIIIII() { 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar(int, int, int, int, int, 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // int) 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 13, 19, 9, 59); 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1972, gc.get(Calendar.YEAR)); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar constructed", 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.get(Calendar.MONTH) == Calendar.OCTOBER); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 13, gc 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.DAY_OF_MONTH)); 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 7, gc.get(Calendar.HOUR)); 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1, gc.get(Calendar.AM_PM)); 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 9, gc.get(Calendar.MINUTE)); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Incorrect calendar constructed", 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 59, gc.get(Calendar.SECOND)); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar constructed", gc.getTimeZone().equals( 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getDefault())); 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar(java.util.Locale) 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_util_Locale() { 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar(java.util.Locale) 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date date = new Date(); 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gcJapan = new GregorianCalendar(Locale.JAPAN); 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gcJapan.setTime(date); 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gcJapan2 = new GregorianCalendar(Locale.JAPAN); 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gcJapan2.setTime(date); 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gcItaly = new GregorianCalendar(Locale.ITALY); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gcItaly.setTime(date); 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Locales not created correctly", gcJapan.equals(gcJapan2) 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes && !gcJapan.equals(gcItaly)); 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar(java.util.TimeZone) 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_util_TimeZone() { 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar(java.util.TimeZone) 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date date = new Date(2008,1,1); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getDefault(); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(TimeZone 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("EST")); 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.setTime(date); 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc2 = new GregorianCalendar(TimeZone 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("CST")); 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc2.setTime(date); 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // CST is 1 hour before EST, add 1 to the CST time and convert to 0-12 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // value 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar returned", 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.get(Calendar.HOUR) == ((gc2.get(Calendar.HOUR) + 1) % 12)); 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-2961 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SimpleTimeZone timezone = new SimpleTimeZone(-3600 * 24 * 1000 * 2, 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes "GMT"); 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(timezone); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-5195 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Calendar c1 = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.set(Calendar.YEAR,1999); 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.set(Calendar.MONTH,Calendar.JUNE); 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.set(Calendar.DAY_OF_MONTH,2); 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.set(Calendar.HOUR,15); 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.set(Calendar.MINUTE,34); 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.set(Calendar.SECOND,16); 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(34,c1.get(Calendar.MINUTE)); 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c1.setTimeZone(new SimpleTimeZone(60000, "ONE MINUTE")); 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(35,c1.get(Calendar.MINUTE)); 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#GregorianCalendar(java.util.TimeZone, 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * java.util.Locale) 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_ConstructorLjava_util_TimeZoneLjava_util_Locale() { 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.GregorianCalendar(java.util.TimeZone, 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.Locale) 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date date = new Date(2008,1,1); 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getDefault(); 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(TimeZone 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("EST"), Locale.JAPAN); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.setTime(date); 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc2 = new GregorianCalendar(TimeZone 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("EST"), Locale.JAPAN); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc2.setTime(date); 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc3 = new GregorianCalendar(TimeZone 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("CST"), Locale.ITALY); 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc3.setTime(date); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // CST is 1 hour before EST, add 1 to the CST time and convert to 0-12 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // value 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Incorrect calendar returned", 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.get(Calendar.HOUR) == ((gc3.get(Calendar.HOUR) + 1) % 12)); 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Locales not created correctly", gc1.equals(gc2) 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes && !gc1.equals(gc3)); 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#add(int, int) 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addII() { 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.GregorianCalendar.add(int, int) 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(1998, 11, 6); 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(GregorianCalendar.YEAR, 1); 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Add failed to Increment", 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1999, gc1.get(GregorianCalendar.YEAR)); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1 = new GregorianCalendar(1999, Calendar.JULY, 31); 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.MONTH, 7); 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong result year 1", 2000, gc1.get(Calendar.YEAR)); 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong result month 1", 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.get(Calendar.MONTH) == Calendar.FEBRUARY); 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong result date 1", 29, gc1.get(Calendar.DATE)); 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.YEAR, -1); 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong result year 2", 1999, gc1.get(Calendar.YEAR)); 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong result month 2", 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.get(Calendar.MONTH) == Calendar.FEBRUARY); 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong result date 2", 28, gc1.get(Calendar.DATE)); 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1 = new GregorianCalendar(TimeZone.getTimeZone("EST")); 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.MILLISECOND, 24 * 60 * 60 * 1000); 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after MILLISECOND change", 16, gc1 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.SECOND, 24 * 60 * 60); 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after SECOND change", 16, gc1 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.MINUTE, 24 * 60); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after MINUTE change", 16, gc1 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.HOUR, 24); 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after HOUR change", 16, gc1 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.HOUR_OF_DAY, 24); 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after HOUR_OF_DAY change", 16, gc1 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.AM_PM, 2); 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after AM_PM change", 16, gc1 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.DATE, 1); 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after DATE change", 16, gc1 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.DAY_OF_YEAR, 1); 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after DAY_OF_YEAR change", 16, gc1 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.DAY_OF_WEEK, 1); 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after DAY_OF_WEEK change", 16, gc1 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.WEEK_OF_YEAR, 1); 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after WEEK_OF_YEAR change", 16, gc1 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.WEEK_OF_MONTH, 1); 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after WEEK_OF_MONTH change", 16, gc1 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.DAY_OF_WEEK_IN_MONTH, 1); 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong time after DAY_OF_WEEK_IN_MONTH change", 16, gc1 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.HOUR_OF_DAY)); 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.clear(); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.set(2000, Calendar.APRIL, 1, 23, 0); 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.add(Calendar.DATE, 1); 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong time after DATE change near DST boundary", gc1 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH) == Calendar.APRIL 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes && gc1.get(Calendar.DATE) == 2 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes && gc1.get(Calendar.HOUR_OF_DAY) == 23); 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#equals(java.lang.Object) 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_equalsLjava_lang_Object() { 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.GregorianCalendar.equals(java.lang.Object) 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(1998, 11, 6); 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc2 = new GregorianCalendar(2000, 11, 6); 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc3 = new GregorianCalendar(1998, 11, 6); 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Equality check failed", gc1.equals(gc3)); 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Equality check failed", !gc1.equals(gc2)); 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc3.setGregorianChange(new Date()); 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Different gregorian change", !gc1.equals(gc3)); 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getActualMaximum(int) 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getActualMaximumI() { 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.GregorianCalendar.getActualMaximum(int) 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(1900, 1, 1); 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc2 = new GregorianCalendar(1996, 1, 1); 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc3 = new GregorianCalendar(1997, 1, 1); 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc4 = new GregorianCalendar(2000, 1, 1); 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc5 = new GregorianCalendar(2000, 9, 9); 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc6 = new GregorianCalendar(2000, 3, 3); 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 1900", 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 28, gc1.getActualMaximum(Calendar.DAY_OF_MONTH)); 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 1996", 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 29, gc2.getActualMaximum(Calendar.DAY_OF_MONTH)); 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 1998", 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 28, gc3.getActualMaximum(Calendar.DAY_OF_MONTH)); 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 2000", 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 29, gc4.getActualMaximum(Calendar.DAY_OF_MONTH)); 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Oct 2000", 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 31, gc5.getActualMaximum(Calendar.DAY_OF_MONTH)); 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Apr 2000", 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 30, gc6.getActualMaximum(Calendar.DAY_OF_MONTH)); 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong actual maximum value for MONTH", gc1 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMaximum(Calendar.MONTH) == Calendar.DECEMBER); 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for HOUR_OF_DAY", 23, gc1 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMaximum(Calendar.HOUR_OF_DAY)); 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for HOUR", 11, gc1 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMaximum(Calendar.HOUR)); 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual maximum value for DAY_OF_WEEK_IN_MONTH", 4, gc6 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMaximum(Calendar.DAY_OF_WEEK_IN_MONTH)); 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for harmony 2954 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date date = new Date(Date.parse("Jan 15 00:00:01 GMT 2000")); 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(); 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setTimeInMillis(Date.parse("Dec 15 00:00:01 GMT 1582")); 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(355, gc.getActualMaximum(Calendar.DAY_OF_YEAR)); 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setGregorianChange(date); 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setTimeInMillis(Date.parse("Jan 16 00:00:01 GMT 2000")); 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(353, gc.getActualMaximum(Calendar.DAY_OF_YEAR)); 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //Regression test for HARMONY-3004 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(1900, 7, 1); 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String[] ids = TimeZone.getAvailableIDs(); 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < ids.length; i++) { 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone tz = TimeZone.getTimeZone(ids[i]); 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setTimeZone(tz); 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int j = 1900; j < 2000; j++) { 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(Calendar.YEAR, j); 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(7200000, gc.getActualMaximum(Calendar.DST_OFFSET)); 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getActualMinimum(int) 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getActualMinimumI() { 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.GregorianCalendar.getActualMinimum(int) 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(1900, 1, 1); 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new GregorianCalendar(1996, 1, 1); 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new GregorianCalendar(1997, 1, 1); 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new GregorianCalendar(2000, 1, 1); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new GregorianCalendar(2000, 9, 9); 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc6 = new GregorianCalendar(2000, 3, 3); 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual minimum value for DAY_OF_MONTH for Feb 1900", 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1, gc1.getActualMinimum(Calendar.DAY_OF_MONTH)); 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong actual minimum value for MONTH", gc1 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMinimum(Calendar.MONTH) == Calendar.JANUARY); 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual minimum value for HOUR_OF_DAY", 0, gc1 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMinimum(Calendar.HOUR_OF_DAY)); 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual minimum value for HOUR", 0, gc1 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMinimum(Calendar.HOUR)); 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong actual minimum value for DAY_OF_WEEK_IN_MONTH", 1, gc6 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getActualMinimum(Calendar.DAY_OF_WEEK_IN_MONTH)); 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getGreatestMinimum(int) 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getGreatestMinimumI() { 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.GregorianCalendar.getGreatestMinimum(int) 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(); 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong greatest minimum value for DAY_OF_MONTH", 1, gc 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getGreatestMinimum(Calendar.DAY_OF_MONTH)); 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong greatest minimum value for MONTH", gc 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getGreatestMinimum(Calendar.MONTH) == Calendar.JANUARY); 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong greatest minimum value for HOUR_OF_DAY", 0, gc 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getGreatestMinimum(Calendar.HOUR_OF_DAY)); 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong greatest minimum value for HOUR", 0, gc 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getGreatestMinimum(Calendar.HOUR)); 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes BitSet result = new BitSet(); 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] min = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -46800000, 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0 }; 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < min.length; i++) { 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (gc.getGreatestMinimum(i) != min[i]) 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.set(i); 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong greatest min for " + result, result.length() == 0); 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getGregorianChange() 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getGregorianChange() { 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method java.util.Date 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.GregorianCalendar.getGregorianChange() 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(); 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar returnedChange = new GregorianCalendar(TimeZone 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("EST")); 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes returnedChange.setTime(gc.getGregorianChange()); 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect year", 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 1582, returnedChange.get(Calendar.YEAR)); 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect month", returnedChange 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH) == Calendar.OCTOBER); 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Returned incorrect day of month", 4, returnedChange 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.DAY_OF_MONTH)); 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getLeastMaximum(int) 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getLeastMaximumI() { 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.GregorianCalendar.getLeastMaximum(int) 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(); 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong least maximum value for DAY_OF_MONTH", 28, gc 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getLeastMaximum(Calendar.DAY_OF_MONTH)); 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong least maximum value for MONTH", gc 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getLeastMaximum(Calendar.MONTH) == Calendar.DECEMBER); 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong least maximum value for HOUR_OF_DAY", 23, gc 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getLeastMaximum(Calendar.HOUR_OF_DAY)); 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong least maximum value for HOUR", 11, gc 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getLeastMaximum(Calendar.HOUR)); 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes BitSet result = new BitSet(); 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Vector values = new Vector(); 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] max = { 1, 292269054, 11, 50, 3, 28, 355, 7, 3, 1, 11, 23, 59, 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 59, 999, 50400000, 1200000 }; 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < max.length; i++) { 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (gc.getLeastMaximum(i) != max[i]) { 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.set(i); 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes values.add(new Integer(gc.getLeastMaximum(i))); 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong least max for " + result + " = " + values, result 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .length() == 0); 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for harmony-2947 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date date = new Date(Date.parse("Jan 1 00:00:01 GMT 2000")); 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(); 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setGregorianChange(date); 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setTime(date); 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(gc.getActualMaximum(Calendar.WEEK_OF_YEAR), gc 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getLeastMaximum(Calendar.WEEK_OF_YEAR)); 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getMaximum(int) 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getMaximumI() { 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.GregorianCalendar.getMaximum(int) 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(); 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong maximum value for DAY_OF_MONTH", 31, gc 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMaximum(Calendar.DAY_OF_MONTH)); 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong maximum value for MONTH", gc 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMaximum(Calendar.MONTH) == Calendar.DECEMBER); 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong maximum value for HOUR_OF_DAY", 23, gc 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMaximum(Calendar.HOUR_OF_DAY)); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong maximum value for HOUR", 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 11, gc.getMaximum(Calendar.HOUR)); 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes BitSet result = new BitSet(); 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Vector values = new Vector(); 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] max = { 1, 292278994, 11, 53, 6, 31, 366, 7, 6, 1, 11, 23, 59, 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 59, 999, 50400000, 7200000 }; 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < max.length; i++) { 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (gc.getMaximum(i) != max[i]) { 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.set(i); 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes values.add(new Integer(gc.getMaximum(i))); 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong max for " + result + " = " + values, 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.length() == 0); 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getMinimum(int) 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getMinimumI() { 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method int java.util.GregorianCalendar.getMinimum(int) 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(); 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong minimum value for DAY_OF_MONTH", 1, gc 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMinimum(Calendar.DAY_OF_MONTH)); 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong minimum value for MONTH", gc 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMinimum(Calendar.MONTH) == Calendar.JANUARY); 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong minimum value for HOUR_OF_DAY", 0, gc 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getMinimum(Calendar.HOUR_OF_DAY)); 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong minimum value for HOUR", 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0, gc.getMinimum(Calendar.HOUR)); 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes BitSet result = new BitSet(); 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int[] min = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -46800000, 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0 }; 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < min.length; i++) { 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (gc.getMinimum(i) != min[i]) 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.set(i); 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Wrong min for " + result, result.length() == 0); 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#isLeapYear(int) 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_isLeapYearI() { 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method boolean java.util.GregorianCalendar.isLeapYear(int) 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(1998, 11, 6); 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect value for leap year", !gc 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .isLeapYear(1998)); 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect value for leap year", gc 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .isLeapYear(2000)); 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#roll(int, int) 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_rollII() { 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.GregorianCalendar.roll(int, int) 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 8, 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 2, 5, 0); 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.roll(Calendar.DAY_OF_MONTH, -1); 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to roll DAY_OF_MONTH down by 1", gc 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 7, 2, 5, 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0))); 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(1972, Calendar.OCTOBER, 8, 2, 5, 0); 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.roll(Calendar.DAY_OF_MONTH, 25); 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to roll DAY_OF_MONTH up by 25", gc 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 2, 2, 5, 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0))); 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(1972, Calendar.OCTOBER, 8, 2, 5, 0); 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.roll(Calendar.DAY_OF_MONTH, -10); 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to roll DAY_OF_MONTH down by 10", gc 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 29, 2, 5, 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 0))); 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#roll(int, boolean) 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_rollIZ() { 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void java.util.GregorianCalendar.roll(int, boolean) 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 13, 19, 9, 59); 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.roll(Calendar.DAY_OF_MONTH, false); 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to roll day_of_month down", gc 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 12, 19, 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 9, 59))); 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(1972, Calendar.OCTOBER, 13, 19, 9, 59); 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.roll(Calendar.DAY_OF_MONTH, true); 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to roll day_of_month up", gc 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 14, 19, 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 9, 59))); 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(1972, Calendar.OCTOBER, 31, 19, 9, 59); 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.roll(Calendar.DAY_OF_MONTH, true); 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Failed to roll day_of_month up", gc 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 1, 19, 9, 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 59))); 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar cal = new GregorianCalendar(); 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int result; 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.ZONE_OFFSET, true); 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 0; 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 1; 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("ZONE_OFFSET roll", 1, result); 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.DST_OFFSET, true); 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 0; 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = 1; 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("ZONE_OFFSET roll", 1, result); 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.set(2004, Calendar.DECEMBER, 31, 5, 0, 0); 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.WEEK_OF_YEAR, true); 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 2004, cal 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.JANUARY, cal 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 9, cal.get(Calendar.DATE)); 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-4372 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.set(1994, 11, 30, 5, 0, 0); 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.setMinimalDaysInFirstWeek(4); 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.WEEK_OF_YEAR, true); 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1994, cal 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.JANUARY, cal 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 7, cal.get(Calendar.DATE)); 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.WEEK_OF_YEAR, true); 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1994, cal 595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.JANUARY, cal 597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 14, cal.get(Calendar.DATE)); 599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.WEEK_OF_YEAR, false); 601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1994, cal 602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.JANUARY, cal 604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 7, cal.get(Calendar.DATE)); 606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.WEEK_OF_YEAR, false); 608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1994, cal 609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.DECEMBER, cal 611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 30, cal.get(Calendar.DATE)); 613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(Calendar.WEEK_OF_YEAR, false); 615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1994, cal 616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.DECEMBER, cal 618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 23, cal.get(Calendar.DATE)); 620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-4510 622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.set(1999, Calendar.DECEMBER, 31, 23, 59, 59); 623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(GregorianCalendar.WEEK_OF_YEAR, true); 624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1999, cal 625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.JANUARY, cal 627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 8, cal.get(Calendar.DATE)); 629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cal.roll(GregorianCalendar.WEEK_OF_YEAR, false); 630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong year: " + cal.getTime(), 1999, cal 631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.YEAR)); 632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong month: " + cal.getTime(), Calendar.DECEMBER, cal 633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .get(Calendar.MONTH)); 634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Wrong date: " + cal.getTime(), 31, cal.get(Calendar.DATE)); 635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#setGregorianChange(java.util.Date) 639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_setGregorianChangeLjava_util_Date() { 641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Test for method void 642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // java.util.GregorianCalendar.setGregorianChange(java.util.Date) 643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc1 = new GregorianCalendar(1582, Calendar.OCTOBER, 644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 4, 0, 0); 645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc2 = new GregorianCalendar(1972, Calendar.OCTOBER, 646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 13, 0, 0); 647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.setGregorianChange(gc2.getTime()); 648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue("Returned incorrect value", gc2.getTime().equals( 649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc1.getGregorianChange())); 650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#clone() 654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clone() { 656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-498 658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gCalend = new GregorianCalendar(); 659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gCalend.set(Calendar.MILLISECOND, 0); 661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int dayOfMonth = gCalend.get(Calendar.DAY_OF_MONTH); 662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // create clone object and change date 664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gCalendClone = (GregorianCalendar) gCalend.clone(); 665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gCalendClone.add(Calendar.DATE, 1); 666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("Before", dayOfMonth, gCalend.get(Calendar.DAY_OF_MONTH)); 668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gCalend.set(Calendar.MILLISECOND, 0);//changes nothing 669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("After", dayOfMonth, gCalend.get(Calendar.DAY_OF_MONTH)); 670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#getMinimalDaysInFirstWeek() 674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getMinimalDaysInFirstWeek() { 676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for Harmony-1037 677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Some non-bug differences below because of different CLDR data of Harmony 678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar g = new GregorianCalendar(TimeZone 679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .getTimeZone("Europe/London"), new Locale("en", "GB")); 680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes int minimalDaysInFirstWeek = g.getMinimalDaysInFirstWeek(); 681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, minimalDaysInFirstWeek); 682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g = new GregorianCalendar(TimeZone.getTimeZone("Europe/London"), 684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Locale("fr")); 685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes minimalDaysInFirstWeek = g.getMinimalDaysInFirstWeek(); 686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, minimalDaysInFirstWeek); 687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g = new GregorianCalendar(TimeZone.getTimeZone("Europe/London"), 689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Locale("fr", "CA")); 690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes minimalDaysInFirstWeek = g.getMinimalDaysInFirstWeek(); 691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, minimalDaysInFirstWeek); 692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#computeTime() 697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_computeTime() { 699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for Harmony-493 700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar g = new GregorianCalendar( 701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getTimeZone("Europe/London"), 702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new Locale("en", "GB") 703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g.clear(); 705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g.set(2006, 02, 26, 01, 50, 00); 706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1143337800000L, g.getTimeInMillis()); 707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar g1 = new GregorianCalendar( 709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TimeZone.getTimeZone("Europe/Moscow") 710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ); 711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g1.clear(); 712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g1.set(2006, 02, 26, 02, 20, 00); // in the DST transition interval 713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1143328800000L, g1.getTimeInMillis()); 714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, g1.get(Calendar.HOUR_OF_DAY)); 715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g1.clear(); 716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes g1.set(2006, 9, 29, 02, 50, 00); // transition from DST 717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1162079400000L, g1.getTimeInMillis()); 718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, g1.get(Calendar.HOUR_OF_DAY)); 719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // End of regression test 720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.GregorianCalendar#get(int) 724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @SuppressWarnings("deprecation") 726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getI() { 727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-2959 728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Date date = new Date(Date.parse("Jan 15 00:00:01 GMT 2000")); 729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setGregorianChange(date); 731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setTimeInMillis(Date.parse("Dec 24 00:00:01 GMT 2000")); 732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(346, gc.get(Calendar.DAY_OF_YEAR)); 733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-3003 735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes date = new Date(Date.parse("Feb 28 00:00:01 GMT 2000")); 736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setGregorianChange(date); 738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.setTimeInMillis(Date.parse("Dec 1 00:00:01 GMT 2000")); 739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, gc.get(Calendar.DAY_OF_MONTH)); 740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(11, gc.get(Calendar.MONTH)); 741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-4513 743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(1582, Calendar.OCTOBER, 15, 0, 0, 0); 745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // reset millisecond to zero in order to be the same time as cutover 746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(Calendar.MILLISECOND, 0); 747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, gc.get(Calendar.MILLISECOND)); 748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1582, gc.get(Calendar.YEAR)); 749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(Calendar.OCTOBER, gc.get(Calendar.MONTH)); 750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(15, gc.get(Calendar.DAY_OF_MONTH)); 751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, gc.get(Calendar.HOUR_OF_DAY)); 752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, gc.get(Calendar.MINUTE)); 753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, gc.get(Calendar.SECOND)); 754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(1582, Calendar.OCTOBER, 14, 0, 0, 0); 755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(24, gc.get(Calendar.DAY_OF_MONTH)); 756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-2422 758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(GregorianCalendar.ZONE_OFFSET, -1); 760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(-1, gc.get(GregorianCalendar.ZONE_OFFSET)); 761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(GregorianCalendar.ZONE_OFFSET, 1); 762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, gc.get(GregorianCalendar.ZONE_OFFSET)); 763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes gc.set(GregorianCalendar.ZONE_OFFSET, 0); 764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, gc.get(GregorianCalendar.ZONE_OFFSET)); 765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Sets up the fixture, for example, open a network connection. This method 769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * is called before a test is executed. 770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() { 772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tears down the fixture, for example, close a network connection. This 776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * method is called after a test is executed. 777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() { 779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 781