]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/intltest/tzrulets.h
ICU-64260.0.1.tar.gz
[apple/icu.git] / icuSources / test / intltest / tzrulets.h
CommitLineData
f3c0d7a5
A
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
46f4442e
A
3/*
4*******************************************************************************
4388f060 5* Copyright (C) 2007-2011, International Business Machines Corporation and *
46f4442e
A
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 */
21class TimeZoneRuleTest : public CalendarTimeZoneTest {
22 // IntlTest override
23 void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par);
24public:
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);
729e4ab9
A
40 void TestT6669(void);
41 void TestVTimeZoneWrapper(void);
4388f060 42 void TestT8943(void);
46f4442e
A
43
44private:
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_