Index: source/test/perf/normperf/dtfmtrtperf.h |
diff --git a/source/test/perf/normperf/dtfmtrtperf.h b/source/test/perf/normperf/dtfmtrtperf.h |
deleted file mode 100644 |
index 6be40f4351eecce4de19279863170d1725f28253..0000000000000000000000000000000000000000 |
--- a/source/test/perf/normperf/dtfmtrtperf.h |
+++ /dev/null |
@@ -1,231 +0,0 @@ |
-/* |
-********************************************************************** |
-* Copyright (c) 2010-2011,International Business Machines |
-* Corporation and others. All Rights Reserved. |
-********************************************************************** |
-********************************************************************** |
-*/ |
- |
-#ifndef _DTFMTRTPERF_H |
-#define _DTFMTRTPERF_H |
- |
-#include "unicode/utypes.h" |
-#include "unicode/uperf.h" |
-#include "unicode/timezone.h" |
-#include "unicode/simpletz.h" |
-#include "unicode/calendar.h" |
-#include "unicode/strenum.h" |
-#include "unicode/smpdtfmt.h" |
-#include "unicode/uchar.h" |
-#include "unicode/basictz.h" |
-#include "cstring.h" |
- |
-#include "unicode/uperf.h" |
-#include "unicode/unistr.h" |
-#include "unicode/datefmt.h" |
-#include "unicode/calendar.h" |
-#include "unicode/uclean.h" |
-#include "unicode/brkiter.h" |
-#include "util.h" |
- |
-static const char* PATTERNS[] = {"z", "zzzz", "Z", "ZZZZ", "v", "vvvv", "V", "VVVV"}; |
-static const int NUM_PATTERNS = sizeof(PATTERNS)/sizeof(const char*); |
- |
-#include <iostream> |
-#include <stdlib.h> |
-#include <fstream> |
-#include <string> |
-using namespace std; |
- |
-// Stubs for Windows API functions when building on UNIXes. |
-// |
-#if U_PLATFORM_USES_ONLY_WIN32_API |
-// do nothing |
-#else |
-#define _UNICODE |
-typedef int DWORD; |
-inline int FoldStringW(DWORD dwMapFlags, const UChar* lpSrcStr,int cchSrc, UChar* lpDestStr,int cchDest); |
-#endif |
- |
-class DateTimeRoundTripFunction : public UPerfFunction |
-{ |
-private: |
- int nLocales; |
-public: |
- |
- DateTimeRoundTripFunction() |
- { |
- nLocales = 0; |
- } |
- |
- DateTimeRoundTripFunction(int locs) |
- { |
- nLocales = locs; |
- } |
- |
- virtual void call(UErrorCode* status) |
- { |
- *status = U_ZERO_ERROR; |
- |
- SimpleTimeZone unknownZone(-31415, (UnicodeString)"Etc/Unknown"); |
- int32_t badDstOffset = -1234; |
- int32_t badZoneOffset = -2345; |
- |
- int32_t testDateData[][3] = { |
- {2007, 1, 15}, |
- {2007, 6, 15}, |
- {1990, 1, 15}, |
- {1990, 6, 15}, |
- {1960, 1, 15}, |
- {1960, 6, 15}, |
- }; |
- |
- Calendar *cal = Calendar::createInstance(*status); |
- if (U_FAILURE(*status)) { |
- //dataerrln("Calendar::createInstance failed: %s", u_errorName(*status)); |
- return; |
- } |
- |
- // Set up rule equivalency test range |
- UDate low, high; |
- cal->set(1900, UCAL_JANUARY, 1); |
- low = cal->getTime(*status); |
- cal->set(2040, UCAL_JANUARY, 1); |
- high = cal->getTime(*status); |
- if (U_FAILURE(*status)) { |
- //errln("getTime failed"); |
- return; |
- } |
- |
- // Set up test dates |
- UDate DATES[(sizeof(testDateData)/sizeof(int32_t))/3]; |
- const int32_t nDates = (sizeof(testDateData)/sizeof(int32_t))/3; |
- cal->clear(); |
- for (int32_t i = 0; i < nDates; i++) { |
- cal->set(testDateData[i][0], testDateData[i][1], testDateData[i][2]); |
- DATES[i] = cal->getTime(*status); |
- if (U_FAILURE(*status)) { |
- //errln("getTime failed"); |
- return; |
- } |
- } |
- |
- // Set up test locales |
- const Locale testLocales[] = { |
- Locale("en"), |
- Locale("en_US"), |
- Locale("en_AU"), |
- Locale("de_DE"), |
- Locale("fr"), |
- Locale("ja_JP"), |
- Locale("ko"), |
- Locale("pt"), |
- Locale("th_TH"), |
- Locale("zh_Hans"), |
- |
- Locale("it"), |
- |
- Locale("en"), |
- Locale("en_US"), |
- Locale("en_AU"), |
- Locale("de_DE"), |
- Locale("fr"), |
- Locale("ja_JP"), |
- Locale("ko"), |
- Locale("pt"), |
- Locale("th_TH"), |
- Locale("zh_Hans"), |
- }; |
- |
- const Locale *LOCALES; |
- LOCALES = testLocales; |
- |
- StringEnumeration *tzids = TimeZone::createEnumeration(); |
- if (U_FAILURE(*status)) { |
- //errln("tzids->count failed"); |
- return; |
- } |
- |
- // Run the roundtrip test |
- for (int32_t locidx = 0; locidx < nLocales; locidx++) { |
- for (int32_t patidx = 0; patidx < NUM_PATTERNS; patidx++) { |
- SimpleDateFormat *sdf = new SimpleDateFormat((UnicodeString)PATTERNS[patidx], LOCALES[locidx], *status); |
- if (U_FAILURE(*status)) { |
- //errcheckln(*status, (UnicodeString)"new SimpleDateFormat failed for pattern " + |
- // PATTERNS[patidx] + " for locale " + LOCALES[locidx].getName() + " - " + u_errorName(*status)); |
- *status = U_ZERO_ERROR; |
- continue; |
- } |
- |
- tzids->reset(*status); |
- const UnicodeString *tzid; |
- while ((tzid = tzids->snext(*status))) { |
- TimeZone *tz = TimeZone::createTimeZone(*tzid); |
- |
- for (int32_t datidx = 0; datidx < nDates; datidx++) { |
- UnicodeString tzstr; |
- FieldPosition fpos(0); |
- |
- // Format |
- sdf->setTimeZone(*tz); |
- sdf->format(DATES[datidx], tzstr, fpos); |
- |
- // Before parse, set unknown zone to SimpleDateFormat instance |
- // just for making sure that it does not depends on the time zone |
- // originally set. |
- sdf->setTimeZone(unknownZone); |
- |
- // Parse |
- ParsePosition pos(0); |
- Calendar *outcal = Calendar::createInstance(unknownZone, *status); |
- if (U_FAILURE(*status)) { |
- //errln("Failed to create an instance of calendar for receiving parse result."); |
- *status = U_ZERO_ERROR; |
- continue; |
- } |
- outcal->set(UCAL_DST_OFFSET, badDstOffset); |
- outcal->set(UCAL_ZONE_OFFSET, badZoneOffset); |
- sdf->parse(tzstr, *outcal, pos); |
- |
- // clean loop |
- delete outcal; |
- |
- } |
- delete tz; |
- // break time zone loop |
- break; |
- |
- } |
- delete sdf; |
- } |
- } |
- delete cal; |
- delete tzids; |
- |
- } |
- |
- virtual long getOperationsPerIteration() |
- { |
- return NUM_PATTERNS * nLocales * 6; |
- } |
-}; |
- |
- |
-class DateTimeRoundTripPerfTest : public UPerfTest |
-{ |
-private: |
- |
-public: |
- |
- DateTimeRoundTripPerfTest(int32_t argc, const char* argv[], UErrorCode& status); |
- ~DateTimeRoundTripPerfTest(); |
- virtual UPerfFunction* runIndexedTest(int32_t index, UBool exec,const char* &name, char* par); |
- |
- UPerfFunction* RoundTripLocale1(); |
- UPerfFunction* RoundTripLocale10(); |
- UPerfFunction* RoundTripLocale11(); |
- UPerfFunction* RoundTripLocale21(); |
-}; |
- |
- |
-#endif // DateTimeRoundTripPerfTest |