blob: 931509c199e7493aa4be9a85dbaa173ec83f2f64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
/********************************************************************
* Copyright (c) 1997-2007, International Business Machines
* Corporation and others. All Rights Reserved.
********************************************************************/
#ifndef __TimeZoneTest__
#define __TimeZoneTest__
#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "unicode/simpletz.h"
#include "caltztst.h"
/**
* Various tests for TimeZone
**/
class TimeZoneTest: public CalendarTimeZoneTest {
// IntlTest override
void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
public: // package
static const int32_t millisPerHour;
public:
/**
* Test the offset of the PRT timezone.
*/
virtual void TestPRTOffset(void);
/**
* Regress a specific bug with a sequence of API calls.
*/
virtual void TestVariousAPI518(void);
/**
* Test the call which retrieves the available IDs.
*/
virtual void TestGetAvailableIDs913(void);
/**
* Generic API testing for API coverage.
*/
virtual void TestGenericAPI(void);
/**
* Test the setStartRule/setEndRule API calls.
*/
virtual void TestRuleAPI(void);
void findTransition(const TimeZone& tz,
UDate min, UDate max);
/**
* subtest used by TestRuleAPI
**/
void testUsingBinarySearch(const TimeZone& tz,
UDate min, UDate max,
UDate expectedBoundary);
/**
* Test short zone IDs for compliance
*/
virtual void TestShortZoneIDs(void);
/**
* Test parsing custom zones
*/
virtual void TestCustomParse(void);
/**
* Test new getDisplayName() API
*/
virtual void TestDisplayName(void);
void TestDSTSavings(void);
void TestAlternateRules(void);
void TestCountries(void);
void TestHistorical(void);
void TestEquivalentIDs(void);
void TestAliasedNames(void);
void TestFractionalDST(void);
void TestFebruary(void);
static const UDate INTERVAL;
private:
// internal functions
static UnicodeString& formatOffset(int32_t offset, UnicodeString& rv);
static UnicodeString& formatTZID(int32_t offset, UnicodeString& rv);
};
#endif /* #if !UCONFIG_NO_FORMATTING */
#endif // __TimeZoneTest__
|