164339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// Copyright (C) 2016 and later: Unicode, Inc. and others. 264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html 3b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius* Copyright (C) 2007-2011, International Business Machines Corporation and * 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* others. All Rights Reserved. * 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/ 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef _TIMEZONERULETEST_ 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define _TIMEZONERULETEST_ 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h" 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "caltztst.h" 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#if !UCONFIG_NO_FORMATTING 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/** 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Tests for TimeZoneRule, RuleBasedTimeZone and VTimeZone 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruclass TimeZoneRuleTest : public CalendarTimeZoneTest { 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // IntlTest override 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par); 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestSimpleRuleBasedTimeZone(void); 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestHistoricalRuleBasedTimeZone(void); 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestOlsonTransition(void); 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestRBTZTransition(void); 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestHasEquivalentTransitions(void); 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestVTimeZoneRoundTrip(void); 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestVTimeZoneRoundTripPartial(void); 32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestVTimeZoneSimpleWrite(void); 33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestVTimeZoneHeaderProps(void); 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestGetSimpleRules(void); 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestTimeZoneRuleCoverage(void); 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestSimpleTimeZoneCoverage(void); 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestVTimeZoneCoverage(void); 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestVTimeZoneParse(void); 39c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru void TestT6216(void); 40b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru void TestT6669(void); 4150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho void TestVTimeZoneWrapper(void); 4283a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius void TestT8943(void); 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruprivate: 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void verifyTransitions(BasicTimeZone& icutz, UDate start, UDate end); 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void compareTransitionsAscending(BasicTimeZone& z1, BasicTimeZone& z2, 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UDate start, UDate end, UBool inclusive); 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void compareTransitionsDescending(BasicTimeZone& z1, BasicTimeZone& z2, 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UDate start, UDate end, UBool inclusive); 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UDate getUTCMillis(int32_t year, int32_t month, int32_t dom, 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t hour=0, int32_t min=0, int32_t sec=0, int32_t msec=0); 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru}; 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_FORMATTING */ 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif // _TIMEZONERULETEST_ 57