1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.java.util; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Calendar; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Date; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.GregorianCalendar; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.SimpleTimeZone; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.TimeZone; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SimpleTimeZoneTest extends junit.framework.TestCase { 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st1; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st2; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 33229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#SimpleTimeZone(int, java.lang.String) 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorILjava_lang_String() { 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.SimpleTimeZone(int, java.lang.String) 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "TEST"); 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect TZ constructed", "TEST", st.getID()); 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed: " + "returned wrong offset", st 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getRawOffset() == 1000); 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed" + "using daylight savings", !st 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .useDaylightTime()); 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 47229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#SimpleTimeZone(int, java.lang.String, 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * int, int, int, int, int, int, int, int) 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorILjava_lang_StringIIIIIIII() { 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.SimpleTimeZone(int, java.lang.String, int, 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int, int, int, int, int, int) 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0); 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", st 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.NOVEMBER, 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime())); 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", !(st 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect TZ constructed", "TEST", st.getID()); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect TZ constructed", 1000, st.getRawOffset()); 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", st.useDaylightTime()); 65f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", 12, 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 74f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 10, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0); 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 83f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, 10, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 92f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.DECEMBER, 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -10, Calendar.SUNDAY, 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 104229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#SimpleTimeZone(int, java.lang.String, 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * int, int, int, int, int, int, int, int, int) 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorILjava_lang_StringIIIIIIIII() { 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.SimpleTimeZone(int, java.lang.String, int, 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int, int, int, int, int, int, int) 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, 1000 * 60 * 60); 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", st 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.NOVEMBER, 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime())); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", !(st 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect TZ constructed", "TEST", st.getID()); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect TZ constructed", 1000, st.getRawOffset()); 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", st.useDaylightTime()); 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect TZ constructed", 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.getDSTSavings() == 1000 * 60 * 60); 124f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", 12, 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, 1000 * 60 * 60); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 133f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 10, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, 1000 * 60 * 60); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 142f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, 10, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, 1000 * 60 * 60); 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 151f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.DECEMBER, 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -10, Calendar.SUNDAY, 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, 1000 * 60 * 60); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 163229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#SimpleTimeZone(int, java.lang.String, 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * int, int, int, int, int, int, int, int, int, int, int) 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorILjava_lang_StringIIIIIIIIIII() { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.SimpleTimeZone(int, java.lang.String, int, 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int, int, int, int, int, int, int, int, int) 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // TODO : Implement test 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //Regression for HARMONY-1241 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(new SimpleTimeZone( 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.LONG, 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Europe/Paris", 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.UTC_TIME, 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.WALL_TIME, 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.WALL_TIME, 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.SHORT, 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.LONG, 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.UTC_TIME, 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.LONG)); 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //seems RI doesn't check the startTimeMode and endTimeMode at all 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //this behavior is contradicts with spec 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(new SimpleTimeZone( 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.LONG, 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Europe/Paris", 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.UTC_TIME, 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.WALL_TIME, 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer.MAX_VALUE, 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.SHORT, 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.STANDARD_TIME, 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.LONG, 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone.UTC_TIME, 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer.MIN_VALUE, 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone.LONG)); 201f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", 12, 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Integer.MAX_VALUE, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, Integer.MAX_VALUE, 1000 * 60 * 60); 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 210f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 10, Calendar.SUNDAY, 0, Integer.MAX_VALUE, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, Integer.MAX_VALUE, 1000 * 60 * 60); 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 219f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, 10, 0, Calendar.NOVEMBER, Integer.MAX_VALUE, -1, Calendar.SUNDAY, 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, Integer.MAX_VALUE, 1000 * 60 * 60); 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 228f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new SimpleTimeZone(1000, "TEST", Calendar.DECEMBER, 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, Integer.MAX_VALUE, -10, Calendar.SUNDAY, 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, Integer.MAX_VALUE, 1000 * 60 * 60); 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 240229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#clone() 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_clone() { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object java.util.SimpleTimeZone.clone() 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st1 = new SimpleTimeZone(1000, "TEST", 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project -1, Calendar.SUNDAY, 0); 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone stA = new SimpleTimeZone(1, "Gah"); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Clone resulted in same reference", st1.clone() != st1); 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Clone resulted in unequal object", ((SimpleTimeZone) st1 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .clone()).equals(st1)); 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Clone resulted in same reference", stA.clone() != stA); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Clone resulted in unequal object", ((SimpleTimeZone) stA 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .clone()).equals(stA)); 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 257229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#equals(java.lang.Object) 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_equalsLjava_lang_Object() { 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.SimpleTimeZone.equals(java.lang.Object) 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone tz = TimeZone.getTimeZone("EST"); 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(tz.getRawOffset(), "EST"); 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st2 = new SimpleTimeZone(0, "EST"); 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(st1.equals(st2)); 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.setRawOffset(st2.getRawOffset()); 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(st1.equals(st2)); 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 271229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#getDSTSavings() 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDSTSavings() { 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.util.SimpleTimeZone.getDSTSavings() 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(0, "TEST"); 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Non-zero default daylight savings", 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0, st1.getDSTSavings()); 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.setStartRule(0, 1, 1, 1); 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.setEndRule(11, 1, 1, 1); 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect default daylight savings", 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 3600000, st1.getDSTSavings()); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(-5 * 3600000, "EST", Calendar.APRIL, 1, 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project -Calendar.SUNDAY, 2 * 3600000, Calendar.OCTOBER, -1, 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.SUNDAY, 2 * 3600000, 7200000); 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect daylight savings from constructor", 7200000, st1 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getDSTSavings()); 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 293229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#getOffset(int, int, int, int, int, int) 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getOffsetIIIIII() { 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.util.SimpleTimeZone.getOffset(int, int, int, 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int, int) 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// TimeZone st1 = TimeZone.getTimeZone("EST"); 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect offset returned", st1.getOffset( 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project GregorianCalendar.AD, 1998, Calendar.NOVEMBER, 11, 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.WEDNESDAY, 0) == -(5 * 60 * 60 * 1000)); 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect offset returned", -(5 * 60 * 60 * 1000), st1 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getOffset(GregorianCalendar.AD, 1998, Calendar.JUNE, 11, 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.THURSDAY, 0)); 308f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-5459 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getDefault().getRawOffset(), TimeZone.getDefault().getID()); 311f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes int fourHours = 4*60*60*1000; 312f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st1.setRawOffset(fourHours); 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(fourHours, st1.getOffset(1, 2099, 01, 1, 5, 0)); 314f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.getOffset(-1, 2099, 01, 1, 5, 0); 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 321f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.getOffset(1, 2099, 15, 1, 5, 0); 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 328f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.getOffset(1, 2099, 01, 100, 5, 0); 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 335f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.getOffset(1, 2099, 01, 1, 50, 0); 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 342f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.getOffset(1, 2099, 01, 1, 5, -10); 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 352229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#getRawOffset() 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getRawOffset() { 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.util.SimpleTimeZone.getRawOffset() 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect offset returned", 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.getRawOffset() == -(5 * 60 * 60 * 1000)); 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 363229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#hashCode() 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_hashCode() { 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method int java.util.SimpleTimeZone.hashCode() 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // For lack of a better test. 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(-5 * 3600000, "EST", Calendar.APRIL, 1, 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project -Calendar.SUNDAY, 2 * 3600000, Calendar.OCTOBER, -1, 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.SUNDAY, 2 * 3600000); 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(TimeZone.getTimeZone("EST").hashCode() != 0); 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(st1.hashCode() != 0); 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 376229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#hasSameRules(java.util.TimeZone) 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_hasSameRulesLjava_util_TimeZone() { 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.SimpleTimeZone.hasSameRules(java.util.TimeZone) 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "TEST", Calendar.NOVEMBER, 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, -1, Calendar.SUNDAY, 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 0); 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone sameAsSt = new SimpleTimeZone(1000, "REST", 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0, Calendar.NOVEMBER, 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project -1, Calendar.SUNDAY, 0); 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone notSameAsSt = new SimpleTimeZone(1000, "PEST", 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar.NOVEMBER, 2, Calendar.SUNDAY, 0, Calendar.NOVEMBER, 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project -1, Calendar.SUNDAY, 0); 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Time zones have same rules but return false", st 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .hasSameRules(sameAsSt)); 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Time zones have different rules but return true", !st 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .hasSameRules(notSameAsSt)); 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 397229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#inDaylightTime(java.util.Date) 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_inDaylightTimeLjava_util_Date() { 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.SimpleTimeZone.inDaylightTime(java.util.Date) 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TimeZone tz = TimeZone.getTimeZone("EST"); 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone zone = new SimpleTimeZone(tz.getRawOffset(), "EST", 404f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Calendar.APRIL, 1, -Calendar.SUNDAY, 7200000, Calendar.OCTOBER, -1, Calendar.SUNDAY, 7200000, 3600000); 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project GregorianCalendar gc = new GregorianCalendar(1998, Calendar.JUNE, 11); 406f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value1", zone.inDaylightTime(gc 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getTime())); 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gc = new GregorianCalendar(1998, Calendar.NOVEMBER, 11); 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value2", !(zone 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(gc.getTime()))); 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gc = new GregorianCalendar(zone); 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gc.set(1999, Calendar.APRIL, 4, 1, 59, 59); 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value3", !(zone 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(gc.getTime()))); 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Date date = new Date(gc.getTime().getTime() + 1000); 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value4", zone 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(date)); 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gc.set(1999, Calendar.OCTOBER, 31, 1, 0, 0); 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value5", !(zone 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(gc.getTime()))); 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project date = new Date(gc.getTime().getTime() - 1000); 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value6", zone 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(date)); 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value7", !zone 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new Date(891752400000L + 7200000 - 1))); 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value8", zone 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new Date(891752400000L + 7200000))); 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value9", zone 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new Date(909288000000L + 7200000 - 1))); 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect daylight value10", !zone 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new Date(909288000000L + 7200000))); 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 437229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setDSTSavings(int) 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setDSTSavingsI() { 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setDSTSavings(int) 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(0, 1, 1, 1); 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(11, 1, 1, 1); 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setDSTSavings(1); 445cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes assertEquals(1, st.getDSTSavings()); 446cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes try { 447cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes st.setDSTSavings(0); 448cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes fail(); 449cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes } catch (IllegalArgumentException expected) { 450cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes } 451cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes try { 452cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes st.setDSTSavings(-1); 453cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes fail(); 454cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes } catch (IllegalArgumentException expected) { 455cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes } 456cff1616012dc0d56c2da9af2b9b1183e76c7e044Elliott Hughes } 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 459229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setEndRule(int, int, int) 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setEndRuleIII() { 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, 0); 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 20, 0); 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set1", st.useDaylightTime()); 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set2", st.inDaylightTime( 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new GregorianCalendar(1998, Calendar.NOVEMBER, 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime())); 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set3", !(st 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 474f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st.setEndRule(13, 20, 0); 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 479f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 481f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st.setEndRule(1, 32, 0); 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 486f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 488f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st.setEndRule(1, 30, 10); 489f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("IllegalArgumentException is not thrown."); 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 496229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setEndRule(int, int, int, int) 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setEndRuleIIII() { 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setEndRule(int, int, 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int) 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Spec indicates that both end and start must be set or result is 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // undefined 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0); 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, -1, Calendar.SUNDAY, 0); 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set1", st.useDaylightTime()); 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set2", st 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.NOVEMBER, 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime())); 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set3", !(st 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(12, -1, Calendar.SUNDAY, 0); 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 10, Calendar.SUNDAY, 0); 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, -1, 8, 0); 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, -1, Calendar.SUNDAY, -10); 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 544229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setEndRule(int, int, int, int, boolean) 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setEndRuleIIIIZ() { 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setEndRule(int, int, 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int, boolean) 549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Spec indicates that both end and start must be set or result is 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // undefined 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 8, Calendar.SUNDAY, 1, false); 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 15, Calendar.SUNDAY, 1, true); 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set1", st.useDaylightTime()); 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set2", st 556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime((new GregorianCalendar(1999, Calendar.NOVEMBER, 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 7, 12, 0).getTime()))); 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set3", st 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime((new GregorianCalendar(1999, Calendar.NOVEMBER, 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20, 12, 0).getTime()))); 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set4", !(st 562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1999, Calendar.NOVEMBER, 563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 6, 12, 0).getTime()))); 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set5", !(st 565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1999, Calendar.NOVEMBER, 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 21, 12, 0).getTime()))); 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(20, 15, Calendar.SUNDAY, 1, true); 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 35, Calendar.SUNDAY, 1, true); 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 15, 12, 1, true); 584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 15, Calendar.SUNDAY, -1, true); 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 598229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setRawOffset(int) 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setRawOffsetI() { 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setRawOffset(int) 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int off = st1.getRawOffset(); 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.setRawOffset(1000); 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean val = st1.getRawOffset() == 1000; 607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1.setRawOffset(off); 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect offset set", val); 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 612229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setStartRule(int, int, int) 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setStartRuleIII() { 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setStartRule(int, int, 616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int) 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Spec indicates that both end and start must be set or result is 619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // undefined 620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, 1); 621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.DECEMBER, 1, 1); 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set", st.useDaylightTime()); 623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set", st 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime((new GregorianCalendar(1998, Calendar.NOVEMBER, 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set", !(st 627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 631f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st.setStartRule(13, 20, 0); 632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 636f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 638f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st.setStartRule(1, 32, 0); 639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 641adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 642adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 643f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 644adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 645f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st.setStartRule(1, 30, 10); 646f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes fail("IllegalArgumentException is not thrown."); 647adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 648adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 649adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 650adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 651adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 652adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 653229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setStartRule(int, int, int, int) 654adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 655adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setStartRuleIIII() { 656adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setStartRule(int, int, 657adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int) 658adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 659adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Spec indicates that both end and start must be set or result is 660adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // undefined 661adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0); 662adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, -1, Calendar.SUNDAY, 0); 663adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set1", st.useDaylightTime()); 664adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set2", st 665adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime((new GregorianCalendar(1998, Calendar.NOVEMBER, 666adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 667adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set3", !(st 668adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 669adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 670adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 671adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 672adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(12, -1, Calendar.SUNDAY, 0); 673adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 674adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 675adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 676adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 677adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 678adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 679adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 10, Calendar.SUNDAY, 0); 680adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 681adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 682adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 683adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 684adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 685adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 686adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, -1, 8, 0); 687adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 688adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 689adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 690adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 691adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 692adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 693adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, -1, Calendar.SUNDAY, -10); 694adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 695adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 696adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 697adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 698adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 699adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 700adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 701229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setStartRule(int, int, int, int, boolean) 702adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 703adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setStartRuleIIIIZ() { 7049cc7e409710f67925a1cf3054d3ced9114d47e75steven_huang TimeZone.setDefault(TimeZone.getTimeZone("GMT")); 705adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setStartRule(int, int, 706adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // int, int, boolean) 707adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 708adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Spec indicates that both end and start must be set or result is 709adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // undefined 710adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, Calendar.SUNDAY, 1, true); 711adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, 15, Calendar.SUNDAY, 1, false); 712adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set1", st.useDaylightTime()); 713adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set2", st 714adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime((new GregorianCalendar(1999, Calendar.NOVEMBER, 715adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 7, 12, 0).getTime()))); 716adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set3", st 717adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime((new GregorianCalendar(1999, Calendar.NOVEMBER, 718adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13, 12, 0).getTime()))); 719adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set4", !(st 720adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1999, Calendar.NOVEMBER, 721adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 6, 12, 0).getTime()))); 722adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("StartRule improperly set5", !(st 723adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1999, Calendar.NOVEMBER, 724adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 14, 12, 0).getTime()))); 725adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 726adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 727adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(20, 15, Calendar.SUNDAY, 1, true); 728adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 729adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 730adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 731adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 732adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 733adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 734adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 35, Calendar.SUNDAY, 1, true); 735adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 736adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 737adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 738adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 739adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 740adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 741adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 15, 12, 1, true); 742adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 743adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 744adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 745adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 746adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 747adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 748adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 15, Calendar.SUNDAY, -1, true); 749adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException is not thrown."); 750adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(IllegalArgumentException iae) { 751adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 752adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 753adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 754adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 755adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 756229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#setStartYear(int) 757adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 758adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setStartYearI() { 759adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.SimpleTimeZone.setStartYear(int) 760adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 761adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0); 762adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, -1, Calendar.SUNDAY, 0); 763adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartYear(1999); 764adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("set year improperly set1", !(st 765adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1999, Calendar.JULY, 12) 766adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getTime()))); 767adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("set year improperly set2", !(st 768adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1998, Calendar.OCTOBER, 769adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 770adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("set year improperly set3", (st 771adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .inDaylightTime(new GregorianCalendar(1999, Calendar.NOVEMBER, 772adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13).getTime()))); 773adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 774adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 775adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 776229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#toString() 777adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 778adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_toString() { 779adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.SimpleTimeZone.toString() 780adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String string = TimeZone.getTimeZone("EST").toString(); 781adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("toString() returned null", string); 782adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("toString() is empty", string.length() != 0); 783adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 784adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 785adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 786229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.SimpleTimeZone#useDaylightTime() 787adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 788adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_useDaylightTime() { 789adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean java.util.SimpleTimeZone.useDaylightTime() 790adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SimpleTimeZone st = new SimpleTimeZone(1000, "Test_TZ"); 791adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("useDaylightTime returned incorrect value", !st 792adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .useDaylightTime()); 793adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Spec indicates that both end and start must be set or result is 794adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // undefined 795adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setStartRule(Calendar.NOVEMBER, 1, Calendar.SUNDAY, 0); 796adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st.setEndRule(Calendar.NOVEMBER, -1, Calendar.SUNDAY, 0); 797adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("useDaylightTime returned incorrect value", st 798adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .useDaylightTime()); 799adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 800f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 801adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getOffsetJ() { 802adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Calendar cal = Calendar.getInstance(); 803adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cal.set(1998, Calendar.NOVEMBER, 11, 0, 0); 804adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 805adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 806adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Incorrect offset returned", st1.getOffset(cal.getTimeInMillis()) == 807adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project -(5 * 60 * 60 * 1000)); 808adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 809adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getTimeZone("EST").getRawOffset(), "EST"); 810adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cal.set(1998, Calendar.JUNE, 11, 0, 0); 811adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Incorrect offset returned", -(5 * 60 * 60 * 1000), st1 812adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getOffset(cal.getTimeInMillis())); 813f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 814adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-5459 815adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project st1 = new SimpleTimeZone(TimeZone.getDefault().getRawOffset(), TimeZone.getDefault().getID()); 816f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes int fourHours = 4*60*60*1000; 817f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes st1.setRawOffset(fourHours); 818adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project cal.set(2099, 01, 1, 0, 0); 819f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 820adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(fourHours, st1.getOffset(cal.getTimeInMillis())); 821adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 822adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 823f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 824adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 825adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 826adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 827adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is called before a test is executed. 828adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 829adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() { 830adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 831adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 832adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 833adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tears down the fixture, for example, close a network connection. This 834adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method is called after a test is executed. 835adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 836adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() { 837adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 838adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 839