• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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