You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
// © 2016 and later: Unicode, Inc. and others.
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
|
/*
|
|
*******************************************************************************
|
|
* Copyright (C) 2007-2011, International Business Machines Corporation and *
|
|
* others. All Rights Reserved. *
|
|
*******************************************************************************
|
|
*/
|
|
|
|
#ifndef _TIMEZONERULETEST_
|
|
#define _TIMEZONERULETEST_
|
|
|
|
#include "unicode/utypes.h"
|
|
#include "caltztst.h"
|
|
|
|
#if !UCONFIG_NO_FORMATTING
|
|
|
|
/**
|
|
* Tests for TimeZoneRule, RuleBasedTimeZone and VTimeZone
|
|
*/
|
|
class TimeZoneRuleTest : public CalendarTimeZoneTest {
|
|
// IntlTest override
|
|
void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par);
|
|
public:
|
|
void TestSimpleRuleBasedTimeZone(void);
|
|
void TestHistoricalRuleBasedTimeZone(void);
|
|
void TestOlsonTransition(void);
|
|
void TestRBTZTransition(void);
|
|
void TestHasEquivalentTransitions(void);
|
|
void TestVTimeZoneRoundTrip(void);
|
|
void TestVTimeZoneRoundTripPartial(void);
|
|
void TestVTimeZoneSimpleWrite(void);
|
|
void TestVTimeZoneHeaderProps(void);
|
|
void TestGetSimpleRules(void);
|
|
void TestTimeZoneRuleCoverage(void);
|
|
void TestSimpleTimeZoneCoverage(void);
|
|
void TestVTimeZoneCoverage(void);
|
|
void TestVTimeZoneParse(void);
|
|
void TestT6216(void);
|
|
void TestT6669(void);
|
|
void TestVTimeZoneWrapper(void);
|
|
void TestT8943(void);
|
|
|
|
private:
|
|
void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end);
|
|
void compareTransitionsAscending(BasicTimeZone& z1, BasicTimeZone& z2,
|
|
UDate start, UDate end, UBool inclusive);
|
|
void compareTransitionsDescending(BasicTimeZone& z1, BasicTimeZone& z2,
|
|
UDate start, UDate end, UBool inclusive);
|
|
UDate getUTCMillis(int32_t year, int32_t month, int32_t dom,
|
|
int32_t hour=0, int32_t min=0, int32_t sec=0, int32_t msec=0);
|
|
};
|
|
|
|
#endif /* #if !UCONFIG_NO_FORMATTING */
|
|
|
|
#endif // _TIMEZONERULETEST_
|