/* ******************************************************************************* * Copyright (C) 2007, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ #ifndef _TIMEZONERULETEST_ #define _TIMEZONERULETEST_ #include "unicode/utypes.h" #include "caltztst.h" #if !UCONFIG_NO_FORMATTING /** * Tests for TimeZoneRule, RuleBasedTimeZone and VTimeZone */ class TimeZoneRuleTest : public CalendarTimeZoneTest { // IntlTest override void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par); public: void TestSimpleRuleBasedTimeZone(void); void TestHistoricalRuleBasedTimeZone(void); void TestOlsonTransition(void); void TestRBTZTransition(void); void TestHasEquivalentTransitions(void); void TestVTimeZoneRoundTrip(void); void TestVTimeZoneRoundTripPartial(void); void TestVTimeZoneSimpleWrite(void); void TestVTimeZoneHeaderProps(void); void TestGetSimpleRules(void); void TestTimeZoneRuleCoverage(void); void TestSimpleTimeZoneCoverage(void); void TestVTimeZoneCoverage(void); void TestVTimeZoneParse(void); private: void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end); void compareTransitionsAscending(BasicTimeZone& z1, BasicTimeZone& z2, UDate start, UDate end, UBool inclusive); void compareTransitionsDescending(BasicTimeZone& z1, BasicTimeZone& z2, UDate start, UDate end, UBool inclusive); UDate getUTCMillis(int32_t year, int32_t month, int32_t dom, int32_t hour=0, int32_t min=0, int32_t sec=0, int32_t msec=0); }; #endif /* #if !UCONFIG_NO_FORMATTING */ #endif // _TIMEZONERULETEST_