Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: source/test/intltest/tsdate.cpp

Issue 2435373002: Delete source/test (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/test/intltest/tsdate.h ('k') | source/test/intltest/tsdcfmsy.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/test/intltest/tsdate.cpp
diff --git a/source/test/intltest/tsdate.cpp b/source/test/intltest/tsdate.cpp
deleted file mode 100644
index bdff3d194e45cf0e4d56b7b98abfab7930fa4ebf..0000000000000000000000000000000000000000
--- a/source/test/intltest/tsdate.cpp
+++ /dev/null
@@ -1,288 +0,0 @@
-/***********************************************************************
- * Copyright (c) 1997-2009, International Business Machines Corporation
- * and others. All Rights Reserved.
- ***********************************************************************/
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/datefmt.h"
-#include "unicode/smpdtfmt.h"
-#include "tsdate.h"
-#include "putilimp.h"
-
-#include <float.h>
-#include <stdlib.h>
-#include <math.h>
-
-const double IntlTestDateFormat::ONEYEAR = 365.25 * ONEDAY; // Approximate
-
-IntlTestDateFormat::~IntlTestDateFormat() {}
-
-/**
- * This test does round-trip testing (format -> parse -> format -> parse -> etc.) of
- * DateFormat.
- */
-// par is ignored throughout this file
-void IntlTestDateFormat::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
-{
- if (exec) logln("TestSuite DateFormat");
- switch (index) {
- case 0: name = "GenericTest";
- if (exec) {
- logln(name);
- fFormat = DateFormat::createInstance();
- fTestName = "createInstance";
- fLimit = 3;
- testFormat(/* par */);
- }
- break;
- case 1: name = "DefaultLocale";
- if (exec) {
- logln(name);
- testLocale(/*par, */Locale::getDefault(), "Default Locale");
- }
- break;
-
- case 2: name = "TestAvailableLocales";
- if (exec) {
- logln(name);
- testAvailableLocales(/* par */);
- }
- break;
-
- case 3: name = "MonsterTest";
- if (exec) {
- logln(name);
- monsterTest(/*par*/);
- }
- break;
-
- default: name = ""; break;
- }
-}
-
-void
-IntlTestDateFormat::testLocale(/*char* par, */const Locale& locale, const UnicodeString& localeName)
-{
- DateFormat::EStyle timeStyle, dateStyle;
-
- // For patterns including only time information and a timezone, it may take
- // up to three iterations, since the timezone may shift as the year number
- // is determined. For other patterns, 2 iterations should suffice.
- fLimit = 3;
-
- for(timeStyle = (DateFormat::EStyle)0;
- timeStyle < (DateFormat::EStyle)4;
- timeStyle = (DateFormat::EStyle) (timeStyle+1))
- {
- fTestName = (UnicodeString) "Time test " + (int32_t) timeStyle + " (" + localeName + ")";
- fFormat = DateFormat::createTimeInstance(timeStyle, locale);
- testFormat(/* par */);
- }
-
- fLimit = 2;
-
- for(dateStyle = (DateFormat::EStyle)0;
- dateStyle < (DateFormat::EStyle)4;
- dateStyle = (DateFormat::EStyle) (dateStyle+1))
- {
- fTestName = (UnicodeString) "Date test " + (int32_t) dateStyle + " (" + localeName + ")";
- fFormat = DateFormat::createDateInstance(dateStyle, locale);
- testFormat(/* par */);
- }
-
- for(dateStyle = (DateFormat::EStyle)0;
- dateStyle < (DateFormat::EStyle)4;
- dateStyle = (DateFormat::EStyle) (dateStyle+1))
- {
- for(timeStyle = (DateFormat::EStyle)0;
- timeStyle < (DateFormat::EStyle)4;
- timeStyle = (DateFormat::EStyle) (timeStyle+1))
- {
- fTestName = (UnicodeString) "DateTime test " + (int32_t) dateStyle + "/" + (int32_t) timeStyle + " (" + localeName + ")";
- fFormat = DateFormat::createDateTimeInstance(dateStyle, timeStyle, locale);
- testFormat(/* par */);
- }
- }
-}
-
-void IntlTestDateFormat::testFormat(/* char* par */)
-{
- if (fFormat == 0)
- {
- dataerrln("FAIL: DateFormat creation failed");
- return;
- }
-
- describeTest();
-
- UDate now = Calendar::getNow();
- tryDate(0);
- tryDate(1278161801778.0);
- tryDate(5264498352317.0); // Sunday, October 28, 2136 8:39:12 AM PST
- tryDate(9516987689250.0); // In the year 2271
- tryDate(now);
- // Shift 6 months into the future, AT THE SAME TIME OF DAY.
- // This will test the DST handling.
- tryDate(now + 6.0*30*ONEDAY);
-
- UDate limit = now * 10; // Arbitrary limit
- for (int32_t i=0; i<3; ++i)
- tryDate(uprv_floor(randDouble() * limit));
-
- delete fFormat;
-}
-
-void
-IntlTestDateFormat::describeTest()
-{
- // Assume it's a SimpleDateFormat and get some info
- SimpleDateFormat *s = (SimpleDateFormat*)fFormat;
- UnicodeString str;
- logln(fTestName + " Pattern " + s->toPattern(str));
-}
-
-void IntlTestDateFormat::tryDate(UDate theDate)
-{
- const int32_t DEPTH = 10;
- UDate date[DEPTH];
- UnicodeString string[DEPTH];
-
- int32_t dateMatch = 0;
- int32_t stringMatch = 0;
- UBool dump = FALSE;
-#if defined (U_CAL_DEBUG)
- dump = TRUE;
-#endif
- int32_t i;
-
- date[0] = theDate;
- fFormat->format(theDate, string[0]);
-
- for (i=1; i<DEPTH; ++i)
- {
- UErrorCode status = U_ZERO_ERROR;
- date[i] = fFormat->parse(string[i-1], status);
- if (U_FAILURE(status))
- {
- describeTest();
- errln("**** FAIL: Parse of " + prettify(string[i-1], FALSE) + " failed.");
- dump = TRUE;
- break;
- }
- fFormat->format(date[i], string[i]);
- if (dateMatch == 0 && date[i] == date[i-1])
- dateMatch = i;
- else if (dateMatch > 0 && date[i] != date[i-1])
- {
- describeTest();
- errln("**** FAIL: Date mismatch after match for " + string[i]);
- dump = TRUE;
- break;
- }
- if (stringMatch == 0 && string[i] == string[i-1])
- stringMatch = i;
- else if (stringMatch > 0 && string[i] != string[i-1])
- {
- describeTest();
- errln("**** FAIL: String mismatch after match for " + string[i]);
- dump = TRUE;
- break;
- }
- if (dateMatch > 0 && stringMatch > 0)
- break;
- }
- if (i == DEPTH)
- --i;
-
- if (stringMatch > fLimit || dateMatch > fLimit)
- {
- describeTest();
- errln((UnicodeString)"**** FAIL: No string and/or date match within " + fLimit
- + " iterations for the Date " + string[0] + "\t(" + theDate + ").");
- dump = TRUE;
- }
-
- if (dump)
- {
- for (int32_t k=0; k<=i; ++k)
- {
- logln((UnicodeString)"" + k + ": " + date[k] + " F> " +
- string[k] + " P> ");
- }
- }
-}
-
-// Return a random double from 0.01 to 1, inclusive
-double IntlTestDateFormat::randDouble()
-{
- // Assume 8-bit (or larger) rand values. Also assume
- // that the system rand() function is very poor, which it always is.
- double d=0.0;
- uint32_t i;
- char* poke = (char*)&d;
- do {
- do {
- for (i=0; i < sizeof(double); ++i)
- {
- poke[i] = (char)(rand() & 0xFF);
- }
- } while (uprv_isNaN(d) || uprv_isInfinite(d));
-
- if (d < 0.0)
- d = -d;
- if (d > 0.0)
- {
- double e = uprv_floor(log10(d));
- if (e < -2.0)
- d *= uprv_pow10((int32_t)(-e-2));
- else if (e > -1.0)
- d /= uprv_pow10((int32_t)(e+1));
- }
- // While this is not a real normalized number make another one.
- } while (uprv_isNaN(d) || uprv_isInfinite(d)
- || !((-DBL_MAX < d && d < DBL_MAX) || (d < -DBL_MIN && DBL_MIN < d)));
- return d;
-}
-
-void IntlTestDateFormat::testAvailableLocales(/* char* par */)
-{
- int32_t count = 0;
- const Locale* locales = DateFormat::getAvailableLocales(count);
- logln((UnicodeString)"" + count + " available locales");
- if (locales && count)
- {
- UnicodeString name;
- UnicodeString all;
- for (int32_t i=0; i<count; ++i)
- {
- if (i!=0) all += ", ";
- all += locales[i].getName();
- }
- logln(all);
- }
- else dataerrln((UnicodeString)"**** FAIL: Zero available locales or null array pointer");
-}
-
-void IntlTestDateFormat::monsterTest(/*char *par*/)
-{
- int32_t count;
- const Locale* locales = DateFormat::getAvailableLocales(count);
- if (locales && count)
- {
- if (quick && count > 3) {
- logln("quick test: testing just 3 locales!");
- count = 3;
- }
- for (int32_t i=0; i<count; ++i)
- {
- UnicodeString name = UnicodeString(locales[i].getName(), "");
- logln((UnicodeString)"Testing " + name + "...");
- testLocale(/*par, */locales[i], name);
- }
- }
-}
-
-#endif /* #if !UCONFIG_NO_FORMATTING */
« no previous file with comments | « source/test/intltest/tsdate.h ('k') | source/test/intltest/tsdcfmsy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698