Home | History | Annotate | Download | only in tests
      1 //  2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html#License
      3 /*
      4  *******************************************************************************
      5  * Copyright (C) 2006-2011, International Business Machines Corporation and    *
      6  * others. All Rights Reserved.                                                *
      7  *******************************************************************************
      8  */
      9 
     10 package com.ibm.icu.tests;
     11 
     12 import java.util.Date;
     13 import java.util.Locale;
     14 
     15 import com.ibm.icu.util.Calendar;
     16 import com.ibm.icu.util.TimeZone;
     17 import com.ibm.icu.util.ULocale;
     18 
     19 public class TimeZoneTest extends ICUTestCase {
     20 
     21     /*
     22      * Test method for 'com.ibm.icu.util.TimeZone.hashCode()'
     23      */
     24     public void testHashCode() {
     25         TimeZone tz1 = TimeZone.getTimeZone("PST");
     26         TimeZone tz2 = TimeZone.getTimeZone("PST");
     27         TimeZone tzn = TimeZone.getTimeZone("CST");
     28         testEHCS(tz1, tz2, tzn);
     29     }
     30 
     31     /*
     32      * Test method for 'com.ibm.icu.util.TimeZone.TimeZone(TimeZone)'
     33      */
     34     public void testTimeZone() {
     35         // implicitly tested everywhere
     36     }
     37 
     38     /*
     39      * Test method for 'com.ibm.icu.util.TimeZone.getOffset(int, int, int, int, int, int)'
     40      */
     41     public void testGetOffset() {
     42         TimeZone tz = TimeZone.getTimeZone("PST");
     43         int offset = tz.getOffset(1, 2004, 0, 01, 1, 0);
     44         assertEquals(-28800000, offset);
     45     }
     46 
     47     /*
     48      * Test method for 'com.ibm.icu.util.TimeZone.setRawOffset(int)'
     49      */
     50     public void testSetRawOffset() {
     51         TimeZone tz = TimeZone.getTimeZone("PST");
     52         int value = tz.getRawOffset();
     53         int value1 = value + 100000;
     54         tz.setRawOffset(value1);
     55         int result = tz.getRawOffset();
     56         assertNotEqual(value, result);
     57         assertEquals(value1, result);
     58     }
     59 
     60     /*
     61      * Test method for 'com.ibm.icu.util.TimeZone.getRawOffset()'
     62      */
     63     public void testGetRawOffset() {
     64         TimeZone tz = TimeZone.getTimeZone("PST");
     65         int offset = tz.getRawOffset();
     66         assertEquals(-28800000, offset);
     67     }
     68 
     69     /*
     70      * Test method for 'com.ibm.icu.util.TimeZone.getID()'
     71      */
     72     public void testGetID() {
     73         TimeZone tz = TimeZone.getTimeZone("PST");
     74         assertEquals("PST", tz.getID());
     75     }
     76 
     77     /*
     78      * Test method for 'com.ibm.icu.util.TimeZone.setID(String)'
     79      */
     80     public void testSetID() {
     81         TimeZone tz = TimeZone.getTimeZone("PST");
     82         String value1 = tz.getID();
     83         String value2 = value1 + "!";
     84         tz.setID(value2);
     85         String result = tz.getID();
     86         assertNotEqual(value1, result);
     87         assertEquals(value2, result);
     88     }
     89 
     90     /*
     91      * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName()'
     92      */
     93     public void testGetDisplayName() {
     94         TimeZone tz = TimeZone.getTimeZone("PST");
     95         assertEquals("Pacific Standard Time", tz.getDisplayName());
     96     }
     97 
     98     /*
     99      * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(Locale)'
    100      */
    101     public void testGetDisplayNameLocale() {
    102         TimeZone tz = TimeZone.getTimeZone("PST");
    103         assertEquals("Pacific Standard Time", tz.getDisplayName(Locale.US));
    104     }
    105 
    106     /*
    107      * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(ULocale)'
    108      */
    109     public void testGetDisplayNameULocale() {
    110         TimeZone tz = TimeZone.getTimeZone("PST");
    111         assertEquals("Pacific Standard Time", tz.getDisplayName(ULocale.US));
    112     }
    113 
    114     /*
    115      * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int)'
    116      */
    117     public void testGetDisplayNameBooleanInt() {
    118         TimeZone tz = TimeZone.getTimeZone("PST");
    119         assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT));
    120         assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG));
    121     }
    122 
    123     /*
    124      * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, Locale)'
    125      */
    126     public void testGetDisplayNameBooleanIntLocale() {
    127         TimeZone tz = TimeZone.getTimeZone("PST");
    128         assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, Locale.US));
    129         assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, Locale.US));
    130     }
    131 
    132     /*
    133      * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, ULocale)'
    134      */
    135     public void testGetDisplayNameBooleanIntULocale() {
    136         TimeZone tz = TimeZone.getTimeZone("PST");
    137         assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, ULocale.US));
    138         assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, ULocale.US));
    139     }
    140 
    141     /*
    142      * Test method for 'com.ibm.icu.util.TimeZone.getDSTSavings()'
    143      */
    144     public void testGetDSTSavings() {
    145         TimeZone tz = TimeZone.getTimeZone("PST");
    146         assertEquals(3600000, tz.getDSTSavings());
    147     }
    148 
    149     /*
    150      * Test method for 'com.ibm.icu.util.TimeZone.useDaylightTime()'
    151      */
    152     public void testUseDaylightTime() {
    153         TimeZone tz = TimeZone.getTimeZone("PST");
    154         assertTrue(tz.useDaylightTime());
    155     }
    156 
    157     /*
    158      * Test method for 'com.ibm.icu.util.TimeZone.inDaylightTime(Date)'
    159      */
    160     public void testInDaylightTime() {
    161         TimeZone tz = TimeZone.getTimeZone("PST");
    162         Calendar cal = Calendar.getInstance();
    163         cal.set(2005, 0, 17);
    164         Date date = cal.getTime();
    165         assertFalse(tz.inDaylightTime(date));
    166         cal.set(2005, 6, 17);
    167         date = cal.getTime();
    168         assertTrue(tz.inDaylightTime(date));
    169     }
    170 
    171     /*
    172      * Test method for 'com.ibm.icu.util.TimeZone.getTimeZone(String)'
    173      */
    174     public void testGetTimeZone() {
    175         // implicitly tested everywhere
    176     }
    177 
    178     /*
    179      * Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs(int)'
    180      */
    181     public void testGetAvailableIDsInt() {
    182         String[] ids = TimeZone.getAvailableIDs(-28800000);
    183         assertNotNull(ids);
    184     }
    185 
    186     /*
    187      * Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs()'
    188      */
    189     public void testGetAvailableIDs() {
    190         String[] ids = TimeZone.getAvailableIDs();
    191         assertNotNull(ids);
    192     }
    193 
    194     /*
    195      * Test method for 'com.ibm.icu.util.TimeZone.getDefault()'
    196      */
    197     public void testGetDefault() {
    198         TimeZone tz = TimeZone.getDefault();
    199         assertNotNull(tz);
    200     }
    201 
    202     /*
    203      * Test method for 'com.ibm.icu.util.TimeZone.setDefault(TimeZone)'
    204      */
    205     public void testSetDefault() {
    206         TimeZone tz1 = TimeZone.getDefault();
    207         String newCode = "PDT".equals(tz1.getID()) ? "CST" : "PDT";
    208         TimeZone tz2 = TimeZone.getTimeZone(newCode);
    209         TimeZone.setDefault(tz2);
    210         TimeZone result = TimeZone.getDefault();
    211         assertNotEqual(tz1, result);
    212         assertEquals(tz2, result);
    213     }
    214 
    215     /*
    216      * Test method for 'com.ibm.icu.util.TimeZone.hasSameRules(TimeZone)'
    217      */
    218     public void testHasSameRules() {
    219         TimeZone tz1 = TimeZone.getTimeZone("PST");
    220         TimeZone tz2 = TimeZone.getTimeZone("America/Los_Angeles");
    221         assertTrue(tz1.hasSameRules(tz2));
    222     }
    223 
    224     /*
    225      * Test method for 'com.ibm.icu.util.TimeZone.clone()'
    226      */
    227     public void testClone() {
    228         // tested by testHashCode
    229     }
    230 
    231     /*
    232      * Test method for 'com.ibm.icu.util.TimeZone.equals(Object)'
    233      */
    234     public void testEqualsObject() {
    235         // tested by testHashCode
    236     }
    237 }
    238