1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License. You may obtain a copy of the License at 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.java.util; 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 20a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Projectimport dalvik.annotation.AndroidOnly; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.KnownFailure; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.BitSet; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Calendar; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Date; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.GregorianCalendar; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Locale; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.SimpleTimeZone; 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.TimeZone; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Vector; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(GregorianCalendar.class) 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class GregorianCalendarTest extends junit.framework.TestCase { 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar() 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_Constructor() { 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar() 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Constructed incorrect calendar", (new GregorianCalendar() 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .isLenient())); 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar(int, int, int) 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class, int.class} 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorIII() { 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar(int, int, int) 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 13); 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed 1", 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1972, gc.get(Calendar.YEAR)); 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar constructed 2", 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.get(Calendar.MONTH) == Calendar.OCTOBER); 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed 3", 13, gc 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.DAY_OF_MONTH)); 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar constructed 4", gc.getTimeZone().equals( 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getDefault())); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar(int, int, int, int, 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * int) 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class, int.class, int.class, int.class} 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorIIIII() { 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar(int, int, int, int, int) 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 13, 19, 9); 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1972, gc.get(Calendar.YEAR)); 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar constructed", 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.get(Calendar.MONTH) == Calendar.OCTOBER); 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 13, gc 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.DAY_OF_MONTH)); 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 7, gc.get(Calendar.HOUR)); 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1, gc.get(Calendar.AM_PM)); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9, gc.get(Calendar.MINUTE)); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar constructed", gc.getTimeZone().equals( 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getDefault())); 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Regression for HARMONY-998 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(1900, 0, 0, 0, Integer.MAX_VALUE); 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 5983, gc.get(Calendar.YEAR)); 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar(int, int, int, int, 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * int, int) 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class, int.class, int.class, int.class, int.class} 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorIIIIII() { 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar(int, int, int, int, int, 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // int) 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 13, 19, 9, 59); 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1972, gc.get(Calendar.YEAR)); 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar constructed", 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.get(Calendar.MONTH) == Calendar.OCTOBER); 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 13, gc 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.DAY_OF_MONTH)); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 7, gc.get(Calendar.HOUR)); 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1, gc.get(Calendar.AM_PM)); 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9, gc.get(Calendar.MINUTE)); 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Incorrect calendar constructed", 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 59, gc.get(Calendar.SECOND)); 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar constructed", gc.getTimeZone().equals( 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getDefault())); 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar(java.util.Locale) 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Locale.class} 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 15128b7a26b06f7cb8ffba5d6fcd44e35060a7800ddUrs Grob @KnownFailure("Some locales were removed last minute in cupcake") 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_util_Locale() { 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar(java.util.Locale) 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Date date = new Date(); 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gcUS = new GregorianCalendar(Locale.US); 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gcUS.setTime(date); 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gcUS2 = new GregorianCalendar(Locale.US); 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gcUS2.setTime(date); 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gcFrance = new GregorianCalendar(Locale.FRANCE); 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gcFrance.setTime(date); 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Locales not created correctly", gcUS.equals(gcUS2)); 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse("Locales not created correctly", gcUS.equals(gcFrance)); 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar(java.util.TimeZone) 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.TimeZone.class} 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_util_TimeZone() { 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar(java.util.TimeZone) 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Date date = new Date(); 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getDefault(); 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(TimeZone 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("EST")); 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.setTime(date); 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc2 = new GregorianCalendar(TimeZone 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("CST")); 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc2.setTime(date); 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(gc1.equals(gc2)); 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1 = new GregorianCalendar(TimeZone 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("GMT+2")); 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.setTime(date); 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc2 = new GregorianCalendar(TimeZone 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("GMT+1")); 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc2.setTime(date); 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar returned", 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.get(Calendar.HOUR) == ((gc2.get(Calendar.HOUR) + 1) % 12)); 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression test for HARMONY-2961 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project SimpleTimeZone timezone = new SimpleTimeZone(-3600 * 24 * 1000 * 2, 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "GMT"); 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(timezone); 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#GregorianCalendar(java.util.TimeZone, 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * java.util.Locale) 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "GregorianCalendar", 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.TimeZone.class, java.util.Locale.class} 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_ConstructorLjava_util_TimeZoneLjava_util_Locale() { 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.GregorianCalendar(java.util.TimeZone, 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.Locale) 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Date date = new Date(); 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getDefault(); 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(TimeZone 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("EST"), Locale.US); 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.setTime(date); 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc2 = new GregorianCalendar(TimeZone 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("EST"), Locale.US); 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc2.setTime(date); 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc3 = new GregorianCalendar(TimeZone 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("CST"), Locale.FRANCE); 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc3.setTime(date); 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue(gc1.equals(gc2)); 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(gc2.equals(gc3)); 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertFalse(gc3.equals(gc1)); 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1 = new GregorianCalendar(TimeZone 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("GMT+2"), Locale.US); 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.setTime(date); 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc3 = new GregorianCalendar(TimeZone 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("GMT+1"), Locale.FRANCE); 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc3.setTime(date); 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // CST is 1 hour before EST, add 1 to the CST time and convert to 0-12 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // value 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Incorrect calendar returned", 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.get(Calendar.HOUR) == ((gc3.get(Calendar.HOUR) + 1) % 12)); 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#add(int, int) 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "add", 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 251a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project @AndroidOnly("This test fails on the RI with version 1.5 but succeeds" 252a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project + "on the RI with version 1.6") 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_addII() { 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.util.GregorianCalendar.add(int, int) 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(1998, 11, 6); 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(GregorianCalendar.YEAR, 1); 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Add failed to Increment", 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1999, gc1.get(GregorianCalendar.YEAR)); 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1 = new GregorianCalendar(1999, Calendar.JULY, 31); 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.MONTH, 7); 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong result year 1", 2000, gc1.get(Calendar.YEAR)); 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong result month 1", 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.get(Calendar.MONTH) == Calendar.FEBRUARY); 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong result date 1", 29, gc1.get(Calendar.DATE)); 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.YEAR, -1); 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong result year 2", 1999, gc1.get(Calendar.YEAR)); 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong result month 2", 270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.get(Calendar.MONTH) == Calendar.FEBRUARY); 271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong result date 2", 28, gc1.get(Calendar.DATE)); 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1 = new GregorianCalendar(TimeZone.getTimeZone("EST")); 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.MILLISECOND, 24 * 60 * 60 * 1000); 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after MILLISECOND change", 16, gc1 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.SECOND, 24 * 60 * 60); 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after SECOND change", 16, gc1 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.MINUTE, 24 * 60); 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after MINUTE change", 16, gc1 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.HOUR, 24); 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after HOUR change", 16, gc1 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.HOUR_OF_DAY, 24); 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after HOUR_OF_DAY change", 16, gc1 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.AM_PM, 2); 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after AM_PM change", 16, gc1 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.DATE, 1); 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after DATE change", 16, gc1 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.DAY_OF_YEAR, 1); 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after DAY_OF_YEAR change", 16, gc1 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.DAY_OF_WEEK, 1); 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after DAY_OF_WEEK change", 16, gc1 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.WEEK_OF_YEAR, 1); 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after WEEK_OF_YEAR change", 16, gc1 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.WEEK_OF_MONTH, 1); 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after WEEK_OF_MONTH change", 16, gc1 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(1999, Calendar.APRIL, 3, 16, 0); // day before DST change 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.DAY_OF_WEEK_IN_MONTH, 1); 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong time after DAY_OF_WEEK_IN_MONTH change", 16, gc1 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.HOUR_OF_DAY)); 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.clear(); 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.set(2000, Calendar.APRIL, 1, 23, 0); 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.add(Calendar.DATE, 1); 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong time after DATE change near DST boundary", gc1 329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.MONTH) == Calendar.APRIL 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && gc1.get(Calendar.DATE) == 2 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project && gc1.get(Calendar.HOUR_OF_DAY) == 23); 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#equals(java.lang.Object) 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "equals", 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.Object.class} 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_equalsLjava_lang_Object() { 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.GregorianCalendar.equals(java.lang.Object) 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(1998, 11, 6); 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc2 = new GregorianCalendar(2000, 11, 6); 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc3 = new GregorianCalendar(1998, 11, 6); 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Equality check failed", gc1.equals(gc3)); 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Equality check failed", !gc1.equals(gc2)); 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc3.setGregorianChange(new Date()); 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Different gregorian change", !gc1.equals(gc3)); 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getActualMaximum(int) 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getActualMaximum", 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getActualMaximumI() { 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.util.GregorianCalendar.getActualMaximum(int) 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(1900, 1, 1); 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc2 = new GregorianCalendar(1996, 1, 1); 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc3 = new GregorianCalendar(1997, 1, 1); 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc4 = new GregorianCalendar(2000, 1, 1); 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc5 = new GregorianCalendar(2000, 9, 9); 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc6 = new GregorianCalendar(2000, 3, 3); 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 1900", 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 28, gc1.getActualMaximum(Calendar.DAY_OF_MONTH)); 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 1996", 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 29, gc2.getActualMaximum(Calendar.DAY_OF_MONTH)); 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 1998", 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 28, gc3.getActualMaximum(Calendar.DAY_OF_MONTH)); 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Feb 2000", 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 29, gc4.getActualMaximum(Calendar.DAY_OF_MONTH)); 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Oct 2000", 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 31, gc5.getActualMaximum(Calendar.DAY_OF_MONTH)); 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_MONTH for Apr 2000", 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 30, gc6.getActualMaximum(Calendar.DAY_OF_MONTH)); 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong actual maximum value for MONTH", gc1 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMaximum(Calendar.MONTH) == Calendar.DECEMBER); 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for HOUR_OF_DAY", 23, gc1 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMaximum(Calendar.HOUR_OF_DAY)); 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for HOUR", 11, gc1 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMaximum(Calendar.HOUR)); 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual maximum value for DAY_OF_WEEK_IN_MONTH", 4, gc6 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMaximum(Calendar.DAY_OF_WEEK_IN_MONTH)); 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression test for harmony 2954 395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Date date = new Date(Date.parse("Jan 15 00:00:01 GMT 2000")); 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(); 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setTimeInMillis(Date.parse("Dec 15 00:00:01 GMT 1582")); 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(355, gc.getActualMaximum(Calendar.DAY_OF_YEAR)); 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setGregorianChange(date); 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setTimeInMillis(Date.parse("Jan 16 00:00:01 GMT 2000")); 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(353, gc.getActualMaximum(Calendar.DAY_OF_YEAR)); 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //Regression test for HARMONY-3004 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(1900, 7, 1); 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[] ids = TimeZone.getAvailableIDs(); 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < ids.length; i++) { 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone tz = TimeZone.getTimeZone(ids[i]); 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setTimeZone(tz); 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int j = 1900; j < 2000; j++) { 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.set(Calendar.YEAR, j); 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(7200000, gc.getActualMaximum(Calendar.DST_OFFSET)); 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getActualMinimum(int) 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getActualMinimum", 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getActualMinimumI() { 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.util.GregorianCalendar.getActualMinimum(int) 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(1900, 1, 1); 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new GregorianCalendar(1996, 1, 1); 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new GregorianCalendar(1997, 1, 1); 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new GregorianCalendar(2000, 1, 1); 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new GregorianCalendar(2000, 9, 9); 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc6 = new GregorianCalendar(2000, 3, 3); 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual minimum value for DAY_OF_MONTH for Feb 1900", 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1, gc1.getActualMinimum(Calendar.DAY_OF_MONTH)); 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong actual minimum value for MONTH", gc1 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMinimum(Calendar.MONTH) == Calendar.JANUARY); 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual minimum value for HOUR_OF_DAY", 0, gc1 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMinimum(Calendar.HOUR_OF_DAY)); 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual minimum value for HOUR", 0, gc1 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMinimum(Calendar.HOUR)); 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong actual minimum value for DAY_OF_WEEK_IN_MONTH", 1, gc6 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getActualMinimum(Calendar.DAY_OF_WEEK_IN_MONTH)); 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getGreatestMinimum(int) 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getGreatestMinimum", 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getGreatestMinimumI() { 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.GregorianCalendar.getGreatestMinimum(int) 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(); 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong greatest minimum value for DAY_OF_MONTH", 1, gc 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getGreatestMinimum(Calendar.DAY_OF_MONTH)); 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong greatest minimum value for MONTH", gc 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getGreatestMinimum(Calendar.MONTH) == Calendar.JANUARY); 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong greatest minimum value for HOUR_OF_DAY", 0, gc 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getGreatestMinimum(Calendar.HOUR_OF_DAY)); 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong greatest minimum value for HOUR", 0, gc 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getGreatestMinimum(Calendar.HOUR)); 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project BitSet result = new BitSet(); 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int[] min = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -46800000, 469f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0 }; 470f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < min.length; i++) { 471f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (gc.getGreatestMinimum(i) != min[i]) 472f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result.set(i); 473f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 474f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong greatest min for " + result, result.length() == 0); 475f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 476f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 477f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 478f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getGregorianChange() 479f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 480f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 481f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 482f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 483f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getGregorianChange", 484f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 485f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 486f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getGregorianChange() { 487f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method java.util.Date 488f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.GregorianCalendar.getGregorianChange() 489f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(); 490f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar returnedChange = new GregorianCalendar(TimeZone 491f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("EST")); 492f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project returnedChange.setTime(gc.getGregorianChange()); 493f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect year", 494f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 1582, returnedChange.get(Calendar.YEAR)); 495f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect month", returnedChange 496f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.MONTH) == Calendar.OCTOBER); 497f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Returned incorrect day of month", 4, returnedChange 498f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .get(Calendar.DAY_OF_MONTH)); 499f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 500f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 501f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 502f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getLeastMaximum(int) 503f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 504f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 505f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 506f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 507f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getLeastMaximum", 508f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 509f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 510f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getLeastMaximumI() { 511f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.util.GregorianCalendar.getLeastMaximum(int) 512f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(); 513f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong least maximum value for DAY_OF_MONTH", 28, gc 514f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getLeastMaximum(Calendar.DAY_OF_MONTH)); 515f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong least maximum value for MONTH", gc 516f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getLeastMaximum(Calendar.MONTH) == Calendar.DECEMBER); 517f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong least maximum value for HOUR_OF_DAY", 23, gc 518f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getLeastMaximum(Calendar.HOUR_OF_DAY)); 519f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong least maximum value for HOUR", 11, gc 520f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getLeastMaximum(Calendar.HOUR)); 521f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 522f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project BitSet result = new BitSet(); 523f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Vector values = new Vector(); 524f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int[] max = { 1, 292269054, 11, 50, 3, 28, 355, 7, 3, 1, 11, 23, 59, 525f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 59, 999, 50400000, 1200000 }; 526f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < max.length; i++) { 527f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (gc.getLeastMaximum(i) != max[i]) { 528f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result.set(i); 529f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project values.add(new Integer(gc.getLeastMaximum(i))); 530f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 531f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 532f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong least max for " + result + " = " + values, result 533f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .length() == 0); 534f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 535f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression test for harmony-2947 536f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Date date = new Date(Date.parse("Jan 1 00:00:01 GMT 2000")); 537f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(); 538f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setGregorianChange(date); 539f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setTime(date); 540f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(gc.getActualMaximum(Calendar.WEEK_OF_YEAR), gc 541f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getLeastMaximum(Calendar.WEEK_OF_YEAR)); 542f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 543f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 544f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 545f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getMaximum(int) 546f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 547f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 548f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 549f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 550f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getMaximum", 551f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 552f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 553f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getMaximumI() { 554f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.util.GregorianCalendar.getMaximum(int) 555f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(); 556f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong maximum value for DAY_OF_MONTH", 31, gc 557f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getMaximum(Calendar.DAY_OF_MONTH)); 558f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong maximum value for MONTH", gc 559f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getMaximum(Calendar.MONTH) == Calendar.DECEMBER); 560f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong maximum value for HOUR_OF_DAY", 23, gc 561f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getMaximum(Calendar.HOUR_OF_DAY)); 562f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong maximum value for HOUR", 563f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 11, gc.getMaximum(Calendar.HOUR)); 564f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 565f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project BitSet result = new BitSet(); 566f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Vector values = new Vector(); 567f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int[] max = { 1, 292278994, 11, 53, 6, 31, 366, 7, 6, 1, 11, 23, 59, 568f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 59, 999, 50400000, 7200000 }; 569f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < max.length; i++) { 570f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (gc.getMaximum(i) != max[i]) { 571f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result.set(i); 572f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project values.add(new Integer(gc.getMaximum(i))); 573f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 574f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 575f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong max for " + result + " = " + values, 576f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result.length() == 0); 577f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 578f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 579f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 580f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getMinimum(int) 581f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 582f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 583f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 584f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 585f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getMinimum", 586f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 587f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 588f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getMinimumI() { 589f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method int java.util.GregorianCalendar.getMinimum(int) 590f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(); 591f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong minimum value for DAY_OF_MONTH", 1, gc 592f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getMinimum(Calendar.DAY_OF_MONTH)); 593f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong minimum value for MONTH", gc 594f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getMinimum(Calendar.MONTH) == Calendar.JANUARY); 595f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong minimum value for HOUR_OF_DAY", 0, gc 596f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getMinimum(Calendar.HOUR_OF_DAY)); 597f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Wrong minimum value for HOUR", 598f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0, gc.getMinimum(Calendar.HOUR)); 599f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 600f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project BitSet result = new BitSet(); 601f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int[] min = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -46800000, 602f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0 }; 603f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < min.length; i++) { 604f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project if (gc.getMinimum(i) != min[i]) 605f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result.set(i); 606f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 607f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong min for " + result, result.length() == 0); 608f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 609f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 610f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 611f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#isLeapYear(int) 612f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 613f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 614f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 615f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 616f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "isLeapYear", 617f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 618f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 619f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_isLeapYearI() { 620f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method boolean java.util.GregorianCalendar.isLeapYear(int) 621f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1998, 11, 6); 622f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for leap year", !gc 623f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .isLeapYear(1998)); 624f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value for leap year", gc 625f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .isLeapYear(2000)); 626f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 627f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 628f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 629f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 630f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#roll(int, int) 631f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 632f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 633f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 634f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 635f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "roll", 636f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, int.class} 637f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 638f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_rollII() { 639f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.util.GregorianCalendar.roll(int, int) 640f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 8, 641f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 2, 5, 0); 642f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.roll(Calendar.DAY_OF_MONTH, -1); 643f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to roll DAY_OF_MONTH down by 1", gc 644f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 7, 2, 5, 645f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0))); 646f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(1972, Calendar.OCTOBER, 8, 2, 5, 0); 647f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.roll(Calendar.DAY_OF_MONTH, 25); 648f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to roll DAY_OF_MONTH up by 25", gc 649f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 2, 2, 5, 650f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0))); 651f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(1972, Calendar.OCTOBER, 8, 2, 5, 0); 652f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.roll(Calendar.DAY_OF_MONTH, -10); 653f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to roll DAY_OF_MONTH down by 10", gc 654f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 29, 2, 5, 655f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 0))); 656f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 657f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 658f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 659f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#roll(int, boolean) 660f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 661f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 662f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 663f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 664f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "roll", 665f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class, boolean.class} 666f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 667f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_rollIZ() { 668f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void java.util.GregorianCalendar.roll(int, boolean) 669f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1972, Calendar.OCTOBER, 670f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 13, 19, 9, 59); 671f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.roll(Calendar.DAY_OF_MONTH, false); 672f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to roll day_of_month down", gc 673f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 12, 19, 674f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9, 59))); 675f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(1972, Calendar.OCTOBER, 13, 19, 9, 59); 676f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.roll(Calendar.DAY_OF_MONTH, true); 677f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to roll day_of_month up", gc 678f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 14, 19, 679f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9, 59))); 680f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(1972, Calendar.OCTOBER, 31, 19, 9, 59); 681f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.roll(Calendar.DAY_OF_MONTH, true); 682f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Failed to roll day_of_month up", gc 683f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .equals(new GregorianCalendar(1972, Calendar.OCTOBER, 1, 19, 9, 684f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 59))); 685f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 686f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar cal = new GregorianCalendar(); 687f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int result; 688f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 689f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project cal.roll(Calendar.ZONE_OFFSET, true); 690f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = 0; 691f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalArgumentException e) { 692f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = 1; 693f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 694f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("ZONE_OFFSET roll", 1, result); 695f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 696f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project cal.roll(Calendar.DST_OFFSET, true); 697f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = 0; 698f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalArgumentException e) { 699f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project result = 1; 700f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 701f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("ZONE_OFFSET roll", 1, result); 702f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 703f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project cal.set(2004, Calendar.DECEMBER, 31, 5, 0, 0); 704f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project cal.roll(Calendar.WEEK_OF_YEAR, true); 705f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong year: " + cal.getTime(), 706f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project cal.get(Calendar.YEAR) == 2004); 707f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong month: " + cal.getTime(), 708f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project cal.get(Calendar.MONTH) == Calendar.JANUARY); 709f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Wrong date: " + cal.getTime(), cal.get(Calendar.DATE) == 9); 710f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 711f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 712f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 713f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#setGregorianChange(java.util.Date) 714f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 715f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 716f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 717f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 718f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setGregorianChange", 719f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.util.Date.class} 720f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 721f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_setGregorianChangeLjava_util_Date() { 722f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Test for method void 723f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // java.util.GregorianCalendar.setGregorianChange(java.util.Date) 724f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc1 = new GregorianCalendar(1582, Calendar.OCTOBER, 725f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 4, 0, 0); 726f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc2 = new GregorianCalendar(1972, Calendar.OCTOBER, 727f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 13, 0, 0); 728f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.setGregorianChange(gc2.getTime()); 729f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertTrue("Returned incorrect value", gc2.getTime().equals( 730f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc1.getGregorianChange())); 731f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 732f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 733f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 734f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#clone() 735f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 736f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 737f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 738f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 739f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "clone", 740f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 741f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 742f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_clone() { 743f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 744f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression for HARMONY-498 745f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gCalend = new GregorianCalendar(); 746f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 747f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gCalend.set(Calendar.MILLISECOND, 0); 748f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int dayOfMonth = gCalend.get(Calendar.DAY_OF_MONTH); 749f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 750f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // create clone object and change date 751f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gCalendClone = (GregorianCalendar) gCalend.clone(); 752f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gCalendClone.add(Calendar.DATE, 1); 753f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 754f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Before", dayOfMonth, gCalend.get(Calendar.DAY_OF_MONTH)); 755f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gCalend.set(Calendar.MILLISECOND, 0);//changes nothing 756f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("After", dayOfMonth, gCalend.get(Calendar.DAY_OF_MONTH)); 757f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 758f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 759f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 760f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#getMinimalDaysInFirstWeek() 761f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 762f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 763f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 764f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 765f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getMinimalDaysInFirstWeek", 766f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 767f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 768a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project @KnownFailure("Some difference in timezones and/or locales data" 769a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project + "Who is right, the CLDR or the RI?") 770f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getMinimalDaysInFirstWeek() { 771f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression for Harmony-1037 772f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g = new GregorianCalendar(TimeZone 773f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getTimeZone("Paris/France"), new Locale("en", "GB")); 774f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int minimalDaysInFirstWeek = g.getMinimalDaysInFirstWeek(); 775f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(4, minimalDaysInFirstWeek); 776f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 777f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g = new GregorianCalendar(TimeZone.getTimeZone("Paris/France"), 778a99b695964e28a5906003d40db48cbd550fbcdf4The Android Open Source Project new Locale("fr", "FR")); 779f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project minimalDaysInFirstWeek = g.getMinimalDaysInFirstWeek(); 780f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(4, minimalDaysInFirstWeek); 781f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 782f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g = new GregorianCalendar(TimeZone.getTimeZone("Europe/London"), 783f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("fr", "CA")); 784f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project minimalDaysInFirstWeek = g.getMinimalDaysInFirstWeek(); 785f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(1, minimalDaysInFirstWeek); 786f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 787f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 788f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 789f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#computeTime() 790f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 791f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 792f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 793f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Checks computeTime indirectly.", 794f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "computeTime", 795f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 796f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 797f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_computeTime() { 798f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 799f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression for Harmony-493 800f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g = new GregorianCalendar( 801f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/London"), 802f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("en", "GB") 803f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 804f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.clear(); 805f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.set(2006, 02, 26, 01, 50, 00); 806f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(1143337800000L, g.getTimeInMillis()); 807f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 808f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g1 = new GregorianCalendar( 809f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/Moscow") 810f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 811f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.clear(); 812f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.set(2006, 02, 26, 02, 20, 00); // in the DST transition interval 813f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(1143328800000L, g1.getTimeInMillis()); 814f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(3, g1.get(Calendar.HOUR_OF_DAY)); 815f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.clear(); 816f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.set(2006, 9, 29, 02, 50, 00); // transition from DST 817f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(1162079400000L, g1.getTimeInMillis()); 818f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(2, g1.get(Calendar.HOUR_OF_DAY)); 819f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // End of regression test 820f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 821f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.set(2006, -9, 29, 02, 50, 00); // transition from DST 822f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.setLenient(false); 823f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 824f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 825f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.getTimeInMillis(); 826f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("IllegalArgumentException expected"); 827f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IllegalArgumentException e) { 828f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project //expected 829f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 830f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 831f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 832f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 833f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 834f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Checks computeFields indirectly.", 835f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "computeFields", 836f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 837f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 838f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_computeFields() { 839f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g = new GregorianCalendar( 840f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/London"), 841f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("en", "GB") 842f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 843f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.clear(); 844f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setTimeInMillis(1222185600225L); 845f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(1, g.get(Calendar.ERA)); 846f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(2008, g.get(Calendar.YEAR)); 847f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(Calendar.SEPTEMBER, g.get(Calendar.MONTH)); 848f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(23, g.get(Calendar.DAY_OF_MONTH)); 849f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(17, g.get(Calendar.HOUR_OF_DAY)); 850f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(0, g.get(Calendar.MINUTE)); 851f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 852f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 853f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 854f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @tests java.util.GregorianCalendar#get(int) 855f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 856f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 857f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 858f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Doesn't verify ArrayIndexOutOfBoundsException.", 859f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "get", 860f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 861f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 862f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("deprecation") 863f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_getI() { 864f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression test for HARMONY-2959 865f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Date date = new Date(Date.parse("Jan 15 00:00:01 GMT 2000")); 866f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 867f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setGregorianChange(date); 868f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setTimeInMillis(Date.parse("Dec 24 00:00:01 GMT 2000")); 869f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(346, gc.get(Calendar.DAY_OF_YEAR)); 870f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 871f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Regression test for HARMONY-3003 872f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project date = new Date(Date.parse("Feb 28 00:00:01 GMT 2000")); 873f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc = new GregorianCalendar(TimeZone.getTimeZone("GMT")); 874f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setGregorianChange(date); 875f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project gc.setTimeInMillis(Date.parse("Dec 1 00:00:01 GMT 2000")); 876f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(1, gc.get(Calendar.DAY_OF_MONTH)); 877f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(11, gc.get(Calendar.MONTH)); 878f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 879f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 880f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 881f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 882f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 883f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "hashCode", 884f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 885f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 886f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_hashCode() { 887f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g = new GregorianCalendar( 888f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/London"), 889f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("en", "GB") 890f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ); 891f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.clear(); 892f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setTimeInMillis(1222185600225L); 893f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 894f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g1 = new GregorianCalendar( 895f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/Moscow")); 896f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.clear(); 897f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g1.set(2008, Calendar.SEPTEMBER, 23, 18, 0, 0); 898f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNotSame(g.hashCode(), g1.hashCode()); 899f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 900f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 901f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 902f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 903f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 904f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setFirstDayOfWeek", 905f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 906f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 907f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_setFirstDayOfWeekI() { 908f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g = new GregorianCalendar( 909f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/London"), 910f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("en", "GB")); 911f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 912f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < 10; i++) { 913f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setFirstDayOfWeek(i); 914f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(i, g.getFirstDayOfWeek()); 915f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 916f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setLenient(false); 917f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setFirstDayOfWeek(10); 918f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setFirstDayOfWeek(-10); 919f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 920f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 921f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 922f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 923f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "", 924f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setMinimalDaysInFirstWeek", 925f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {int.class} 926f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 927f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void test_setMinimalDaysInFirstWeekI() { 928f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GregorianCalendar g = new GregorianCalendar( 929f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project TimeZone.getTimeZone("Europe/London"), 930f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new Locale("en", "GB")); 931f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 932f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < 10; i++) { 933f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setMinimalDaysInFirstWeek(i); 934f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(i, g.getMinimalDaysInFirstWeek()); 935f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 936f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setLenient(false); 937f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setMinimalDaysInFirstWeek(10); 938f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project g.setMinimalDaysInFirstWeek(-10); 939f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 940f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 941f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 942f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 943f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is called before a test is executed. 944f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 945f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() { 946f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locale.setDefault(Locale.US); 947f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 948f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 949f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 950f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Tears down the fixture, for example, close a network connection. This 951f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * method is called after a test is executed. 952f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 953f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() { 954f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 955f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 956