/* | |
******************************************************************************* | |
* Copyright (C) 2006-2011, International Business Machines Corporation and * | |
* others. All Rights Reserved. * | |
******************************************************************************* | |
*/ | |
package com.ibm.icu.tests; | |
import java.util.Date; | |
import java.util.Locale; | |
import com.ibm.icu.util.Calendar; | |
import com.ibm.icu.util.TimeZone; | |
import com.ibm.icu.util.ULocale; | |
public class TimeZoneTest extends ICUTestCase { | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.hashCode()' | |
*/ | |
public void testHashCode() { | |
TimeZone tz1 = TimeZone.getTimeZone("PST"); | |
TimeZone tz2 = TimeZone.getTimeZone("PST"); | |
TimeZone tzn = TimeZone.getTimeZone("CST"); | |
testEHCS(tz1, tz2, tzn); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.TimeZone(TimeZone)' | |
*/ | |
public void testTimeZone() { | |
// implicitly tested everywhere | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getOffset(int, int, int, int, int, int)' | |
*/ | |
public void testGetOffset() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
int offset = tz.getOffset(1, 2004, 0, 01, 1, 0); | |
assertEquals(-28800000, offset); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.setRawOffset(int)' | |
*/ | |
public void testSetRawOffset() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
int value = tz.getRawOffset(); | |
int value1 = value + 100000; | |
tz.setRawOffset(value1); | |
int result = tz.getRawOffset(); | |
assertNotEqual(value, result); | |
assertEquals(value1, result); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getRawOffset()' | |
*/ | |
public void testGetRawOffset() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
int offset = tz.getRawOffset(); | |
assertEquals(-28800000, offset); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getID()' | |
*/ | |
public void testGetID() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("PST", tz.getID()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.setID(String)' | |
*/ | |
public void testSetID() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
String value1 = tz.getID(); | |
String value2 = value1 + "!"; | |
tz.setID(value2); | |
String result = tz.getID(); | |
assertNotEqual(value1, result); | |
assertEquals(value2, result); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDisplayName()' | |
*/ | |
public void testGetDisplayName() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("Pacific Standard Time", tz.getDisplayName()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(Locale)' | |
*/ | |
public void testGetDisplayNameLocale() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("Pacific Standard Time", tz.getDisplayName(Locale.US)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(ULocale)' | |
*/ | |
public void testGetDisplayNameULocale() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("Pacific Standard Time", tz.getDisplayName(ULocale.US)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int)' | |
*/ | |
public void testGetDisplayNameBooleanInt() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT)); | |
assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, Locale)' | |
*/ | |
public void testGetDisplayNameBooleanIntLocale() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, Locale.US)); | |
assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, Locale.US)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, ULocale)' | |
*/ | |
public void testGetDisplayNameBooleanIntULocale() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, ULocale.US)); | |
assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, ULocale.US)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDSTSavings()' | |
*/ | |
public void testGetDSTSavings() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertEquals(3600000, tz.getDSTSavings()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.useDaylightTime()' | |
*/ | |
public void testUseDaylightTime() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
assertTrue(tz.useDaylightTime()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.inDaylightTime(Date)' | |
*/ | |
public void testInDaylightTime() { | |
TimeZone tz = TimeZone.getTimeZone("PST"); | |
Calendar cal = Calendar.getInstance(); | |
cal.set(2005, 0, 17); | |
Date date = cal.getTime(); | |
assertFalse(tz.inDaylightTime(date)); | |
cal.set(2005, 6, 17); | |
date = cal.getTime(); | |
assertTrue(tz.inDaylightTime(date)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getTimeZone(String)' | |
*/ | |
public void testGetTimeZone() { | |
// implicitly tested everywhere | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs(int)' | |
*/ | |
public void testGetAvailableIDsInt() { | |
String[] ids = TimeZone.getAvailableIDs(-28800000); | |
assertNotNull(ids); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs()' | |
*/ | |
public void testGetAvailableIDs() { | |
String[] ids = TimeZone.getAvailableIDs(); | |
assertNotNull(ids); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.getDefault()' | |
*/ | |
public void testGetDefault() { | |
TimeZone tz = TimeZone.getDefault(); | |
assertNotNull(tz); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.setDefault(TimeZone)' | |
*/ | |
public void testSetDefault() { | |
TimeZone tz1 = TimeZone.getDefault(); | |
String newCode = "PDT".equals(tz1.getID()) ? "CST" : "PDT"; | |
TimeZone tz2 = TimeZone.getTimeZone(newCode); | |
TimeZone.setDefault(tz2); | |
TimeZone result = TimeZone.getDefault(); | |
assertNotEqual(tz1, result); | |
assertEquals(tz2, result); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.hasSameRules(TimeZone)' | |
*/ | |
public void testHasSameRules() { | |
TimeZone tz1 = TimeZone.getTimeZone("PST"); | |
TimeZone tz2 = TimeZone.getTimeZone("America/Los_Angeles"); | |
assertTrue(tz1.hasSameRules(tz2)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.clone()' | |
*/ | |
public void testClone() { | |
// tested by testHashCode | |
} | |
/* | |
* Test method for 'com.ibm.icu.util.TimeZone.equals(Object)' | |
*/ | |
public void testEqualsObject() { | |
// tested by testHashCode | |
} | |
} |