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 void TestVTimeZoneWrapper(void); 40 41 private: 42 void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end); 43 void compareTransitionsAscending(BasicTimeZone& z1, BasicTimeZone& z2, 44 UDate start, UDate end, UBool inclusive); 45 void compareTransitionsDescending(BasicTimeZone& z1, BasicTimeZone& z2, 46 UDate start, UDate end, UBool inclusive); 47 UDate getUTCMillis(int32_t year, int32_t month, int32_t dom, 48 int32_t hour=0, int32_t min=0, int32_t sec=0, int32_t msec=0); 49 }; 50 51 #endif /* #if !UCONFIG_NO_FORMATTING */ 52 53 #endif // _TIMEZONERULETEST_ 54