tzrulets.h revision c69afcec261fc345fda8daf46f0ea6b4351dc777
1/*
2*******************************************************************************
3* Copyright (C) 2007-2008, 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 */
19class TimeZoneRuleTest : public CalendarTimeZoneTest {
20    // IntlTest override
21    void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par);
22public:
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
39private:
40    void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end);
41    void compareTransitionsAscending(BasicTimeZone& z1, BasicTimeZone& z2,
42        UDate start, UDate end, UBool inclusive);
43    void compareTransitionsDescending(BasicTimeZone& z1, BasicTimeZone& z2,
44        UDate start, UDate end, UBool inclusive);
45    UDate getUTCMillis(int32_t year, int32_t month, int32_t dom,
46        int32_t hour=0, int32_t min=0, int32_t sec=0, int32_t msec=0);
47};
48
49#endif /* #if !UCONFIG_NO_FORMATTING */
50
51#endif // _TIMEZONERULETEST_
52