Home | History | Annotate | Download | only in intltest
      1 /*
      2 *******************************************************************************
      3 * Copyright (C) 2007-2009, International Business Machines Corporation and    *
      4 * others. All Rights Reserved.                                                *
      5 *******************************************************************************
      6 */
      7 
      8 #ifndef _TIMEZONERULETEST_
      9 #define _TIMEZONERULETEST_
     10 
     11 #include "unicode/utypes.h"
     12 #include "caltztst.h"
     13 
     14 #if !UCONFIG_NO_FORMATTING
     15 
     16 /**
     17  * Tests for TimeZoneRule, RuleBasedTimeZone and VTimeZone
     18  */
     19 class TimeZoneRuleTest : public CalendarTimeZoneTest {
     20     // IntlTest override
     21     void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par);
     22 public:
     23     void TestSimpleRuleBasedTimeZone(void);
     24     void TestHistoricalRuleBasedTimeZone(void);
     25     void TestOlsonTransition(void);
     26     void TestRBTZTransition(void);
     27     void TestHasEquivalentTransitions(void);
     28     void TestVTimeZoneRoundTrip(void);
     29     void TestVTimeZoneRoundTripPartial(void);
     30     void TestVTimeZoneSimpleWrite(void);
     31     void TestVTimeZoneHeaderProps(void);
     32     void TestGetSimpleRules(void);
     33     void TestTimeZoneRuleCoverage(void);
     34     void TestSimpleTimeZoneCoverage(void);
     35     void TestVTimeZoneCoverage(void);
     36     void TestVTimeZoneParse(void);
     37     void TestT6216(void);
     38     void TestT6669(void);
     39 
     40 private:
     41     void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end);
     42     void compareTransitionsAscending(BasicTimeZone& z1, BasicTimeZone& z2,
     43         UDate start, UDate end, UBool inclusive);
     44     void compareTransitionsDescending(BasicTimeZone& z1, BasicTimeZone& z2,
     45         UDate start, UDate end, UBool inclusive);
     46     UDate getUTCMillis(int32_t year, int32_t month, int32_t dom,
     47         int32_t hour=0, int32_t min=0, int32_t sec=0, int32_t msec=0);
     48 };
     49 
     50 #endif /* #if !UCONFIG_NO_FORMATTING */
     51 
     52 #endif // _TIMEZONERULETEST_
     53