summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.8.1/test/intltest/tztest.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-4.8.1/test/intltest/tztest.h')
-rw-r--r--Build/source/libs/icu/icu-4.8.1/test/intltest/tztest.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.8.1/test/intltest/tztest.h b/Build/source/libs/icu/icu-4.8.1/test/intltest/tztest.h
new file mode 100644
index 00000000000..e42ce1fb9f5
--- /dev/null
+++ b/Build/source/libs/icu/icu-4.8.1/test/intltest/tztest.h
@@ -0,0 +1,117 @@
+
+/********************************************************************
+ * Copyright (c) 1997-2011, 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);
+
+ virtual void TestGetAvailableIDsNew(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);
+
+ void TestCanonicalID(void);
+
+ virtual void TestDisplayNamesMeta();
+
+ void TestGetRegion(void);
+
+ static const UDate INTERVAL;
+
+private:
+ // internal functions
+ static UnicodeString& formatOffset(int32_t offset, UnicodeString& rv);
+ static UnicodeString& formatTZID(int32_t offset, UnicodeString& rv);
+
+ // Some test case data is current date/tzdata version sensitive and producing errors
+ // when year/rule are changed.
+ static const int32_t REFERENCE_YEAR;
+ static const char *REFERENCE_DATA_VERSION;
+
+ void checkContainsAll(StringEnumeration *s1, const char *name1,
+ StringEnumeration *s2, const char *name2);
+};
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
+#endif // __TimeZoneTest__