2 *******************************************************************************
\r
3 * Copyright (C) 2006-2008, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
8 package com.ibm.icu.tests;
\r
10 import java.util.Date;
\r
11 import java.util.Locale;
\r
13 import com.ibm.icu.util.Calendar;
\r
14 import com.ibm.icu.util.TimeZone;
\r
15 import com.ibm.icu.util.ULocale;
\r
17 public class TimeZoneTest extends ICUTestCase {
\r
20 * Test method for 'com.ibm.icu.util.TimeZone.hashCode()'
\r
22 public void testHashCode() {
\r
23 TimeZone tz1 = TimeZone.getTimeZone("PST");
\r
24 TimeZone tz2 = TimeZone.getTimeZone("PST");
\r
25 TimeZone tzn = TimeZone.getTimeZone("CST");
\r
26 testEHCS(tz1, tz2, tzn);
\r
30 * Test method for 'com.ibm.icu.util.TimeZone.TimeZone(TimeZone)'
\r
32 public void testTimeZone() {
\r
33 // implicitly tested everywhere
\r
37 * Test method for 'com.ibm.icu.util.TimeZone.getOffset(int, int, int, int, int, int)'
\r
39 public void testGetOffset() {
\r
40 TimeZone tz = TimeZone.getTimeZone("PST");
\r
41 int offset = tz.getOffset(1, 2004, 0, 01, 1, 0);
\r
42 assertEquals(-28800000, offset);
\r
46 * Test method for 'com.ibm.icu.util.TimeZone.setRawOffset(int)'
\r
48 public void testSetRawOffset() {
\r
49 TimeZone tz = TimeZone.getTimeZone("PST");
\r
50 int value = tz.getRawOffset();
\r
51 int value1 = value + 100000;
\r
52 tz.setRawOffset(value1);
\r
53 int result = tz.getRawOffset();
\r
54 assertNotEqual(value, result);
\r
55 assertEquals(value1, result);
\r
59 * Test method for 'com.ibm.icu.util.TimeZone.getRawOffset()'
\r
61 public void testGetRawOffset() {
\r
62 TimeZone tz = TimeZone.getTimeZone("PST");
\r
63 int offset = tz.getRawOffset();
\r
64 assertEquals(-28800000, offset);
\r
68 * Test method for 'com.ibm.icu.util.TimeZone.getID()'
\r
70 public void testGetID() {
\r
71 TimeZone tz = TimeZone.getTimeZone("PST");
\r
72 assertEquals("PST", tz.getID());
\r
76 * Test method for 'com.ibm.icu.util.TimeZone.setID(String)'
\r
78 public void testSetID() {
\r
79 TimeZone tz = TimeZone.getTimeZone("PST");
\r
80 String value1 = tz.getID();
\r
81 String value2 = value1 + "!";
\r
83 String result = tz.getID();
\r
84 assertNotEqual(value1, result);
\r
85 assertEquals(value2, result);
\r
89 * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName()'
\r
91 public void testGetDisplayName() {
\r
92 TimeZone tz = TimeZone.getTimeZone("PST");
\r
93 assertEquals("Pacific Standard Time", tz.getDisplayName());
\r
97 * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(Locale)'
\r
99 public void testGetDisplayNameLocale() {
\r
100 TimeZone tz = TimeZone.getTimeZone("PST");
\r
101 assertEquals("Pacific Standard Time", tz.getDisplayName(Locale.US));
\r
105 * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(ULocale)'
\r
107 public void testGetDisplayNameULocale() {
\r
108 TimeZone tz = TimeZone.getTimeZone("PST");
\r
109 assertEquals("Pacific Standard Time", tz.getDisplayName(ULocale.US));
\r
113 * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int)'
\r
115 public void testGetDisplayNameBooleanInt() {
\r
116 TimeZone tz = TimeZone.getTimeZone("PST");
\r
117 assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT));
\r
118 assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG));
\r
122 * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, Locale)'
\r
124 public void testGetDisplayNameBooleanIntLocale() {
\r
125 TimeZone tz = TimeZone.getTimeZone("PST");
\r
126 assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, Locale.US));
\r
127 assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, Locale.US));
\r
131 * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, ULocale)'
\r
133 public void testGetDisplayNameBooleanIntULocale() {
\r
134 TimeZone tz = TimeZone.getTimeZone("PST");
\r
135 assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, ULocale.US));
\r
136 assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, ULocale.US));
\r
140 * Test method for 'com.ibm.icu.util.TimeZone.getDSTSavings()'
\r
142 public void testGetDSTSavings() {
\r
143 TimeZone tz = TimeZone.getTimeZone("PST");
\r
144 assertEquals(3600000, tz.getDSTSavings());
\r
148 * Test method for 'com.ibm.icu.util.TimeZone.useDaylightTime()'
\r
150 public void testUseDaylightTime() {
\r
151 TimeZone tz = TimeZone.getTimeZone("PST");
\r
152 assertTrue(tz.useDaylightTime());
\r
156 * Test method for 'com.ibm.icu.util.TimeZone.inDaylightTime(Date)'
\r
158 public void testInDaylightTime() {
\r
159 TimeZone tz = TimeZone.getTimeZone("PST");
\r
160 Calendar cal = Calendar.getInstance();
\r
161 cal.set(2005, 0, 17);
\r
162 Date date = cal.getTime();
\r
163 assertFalse(tz.inDaylightTime(date));
\r
164 cal.set(2005, 6, 17);
\r
165 date = cal.getTime();
\r
166 assertTrue(tz.inDaylightTime(date));
\r
170 * Test method for 'com.ibm.icu.util.TimeZone.getTimeZone(String)'
\r
172 public void testGetTimeZone() {
\r
173 // implicitly tested everywhere
\r
177 * Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs(int)'
\r
179 public void testGetAvailableIDsInt() {
\r
180 String[] ids = TimeZone.getAvailableIDs(-28800000);
\r
181 assertNotNull(ids);
\r
185 * Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs()'
\r
187 public void testGetAvailableIDs() {
\r
188 String[] ids = TimeZone.getAvailableIDs();
\r
189 assertNotNull(ids);
\r
193 * Test method for 'com.ibm.icu.util.TimeZone.getDefault()'
\r
195 public void testGetDefault() {
\r
196 TimeZone tz = TimeZone.getDefault();
\r
201 * Test method for 'com.ibm.icu.util.TimeZone.setDefault(TimeZone)'
\r
203 public void testSetDefault() {
\r
204 TimeZone tz1 = TimeZone.getDefault();
\r
205 String newCode = "PDT".equals(tz1.getID()) ? "CST" : "PDT";
\r
206 TimeZone tz2 = TimeZone.getTimeZone(newCode);
\r
207 TimeZone.setDefault(tz2);
\r
208 TimeZone result = TimeZone.getDefault();
\r
209 assertNotEqual(tz1, result);
\r
210 assertEquals(tz2, result);
\r
214 * Test method for 'com.ibm.icu.util.TimeZone.hasSameRules(TimeZone)'
\r
216 public void testHasSameRules() {
\r
217 TimeZone tz1 = TimeZone.getTimeZone("PST");
\r
218 TimeZone tz2 = TimeZone.getTimeZone("America/Los_Angeles");
\r
219 assertTrue(tz1.hasSameRules(tz2));
\r
223 * Test method for 'com.ibm.icu.util.TimeZone.clone()'
\r
225 public void testClone() {
\r
226 // tested by testHashCode
\r
230 * Test method for 'com.ibm.icu.util.TimeZone.equals(Object)'
\r
232 public void testEqualsObject() {
\r
233 // tested by testHashCode
\r