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