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