/******************************************************************** * COPYRIGHT: * Copyright (c) 1997-2001, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ /** * IntlTestFormat is the medium level test class for everything in the directory "format". */ #include "unicode/utypes.h" #include "itformat.h" #include "tsdate.h" #include "tsnmfmt.h" #include "caltest.h" #include "callimts.h" #include "tztest.h" #include "tzbdtest.h" #include "tsdcfmsy.h" // DecimalFormatSymbols #include "tchcfmt.h" #include "tsdtfmsy.h" // DateFormatSymbols #include "dcfmapts.h" // DecimalFormatAPI #include "tfsmalls.h" // Format Small Classes #include "nmfmapts.h" // NumberFormatAPI #include "numfmtst.h" // NumberFormatTest #include "sdtfmtts.h" // SimpleDateFormatAPI #include "dtfmapts.h" // DateFormatAPI #include "dtfmttst.h" // DateFormatTest #include "tmsgfmt.h" // TestMessageFormat #include "dtfmrgts.h" // DateFormatRegressionTest #include "msfmrgts.h" // MessageFormatRegressionTest #include "miscdtfm.h" // DateFormatMiscTests #include "nmfmtrt.h" // NumberFormatRoundTripTest #include "numrgts.h" // NumberFormatRegressionTest #include "dtfmtrtts.h" // DateFormatRoundTripTest #include "pptest.h" // ParsePositionTest #include "calregts.h" // CalendarRegressionTest #include "tzregts.h" // TimeZoneRegressionTest void IntlTestFormat::runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) { // for all format tests, always set default Locale and TimeZone to ENGLISH and PST. TimeZone* saveDefaultTimeZone; Locale saveDefaultLocale = Locale::getDefault(); if (exec) { saveDefaultTimeZone = TimeZone::createDefault(); TimeZone *tz = TimeZone::createTimeZone("PST"); TimeZone::setDefault(*tz); delete tz; UErrorCode status = U_ZERO_ERROR; Locale::setDefault( Locale::ENGLISH, status ); if (U_FAILURE(status)) { errln("itformat: couldn't set default Locale to ENGLISH!"); } } if (exec) logln("TestSuite Format: "); switch (index) { case 0: name = "DateFormat"; if (exec) { logln("DateFormat test---"); logln(""); IntlTestDateFormat test; callTest( test, par ); } break; case 1: name = "NumberFormat"; if (exec) { logln("NumberFormat test---"); logln(""); IntlTestNumberFormat test; callTest( test, par ); } break; case 2: name = "TestCalendar"; if (exec) { logln("TestCalendar---"); logln(""); CalendarTest test; callTest( test, par ); } break; case 3: name = "TestCalendarLimit"; if (exec) { logln("TestCalendarLimit---"); logln(""); CalendarLimitTest test; callTest( test, par ); } break; case 4: name = "TestTimeZone"; if (exec) { logln("TestTimeZone---"); logln(""); TimeZoneTest test; callTest( test, par ); } break; case 5: name = "TestTimeZoneBoundary"; if (exec) { logln("TestTimeZoneBoundary---"); logln(""); TimeZoneBoundaryTest test; callTest( test, par ); } break; case 6: name = "chc"; if (exec) { logln("TestSuite Format/ChoiceFormat---"); logln(); TestChoiceFormat test; callTest( test, par ); } break; case 7: name = "DecimalFormatSymbols"; if (exec) { logln("DecimalFormatSymbols test---"); logln(""); IntlTestDecimalFormatSymbols test; callTest( test, par ); } break; case 8: name = "DateFormatSymbols"; if (exec) { logln("DateFormatSymbols test---"); logln(""); IntlTestDateFormatSymbols test; callTest( test, par ); } break; case 9: name = "DecimalFormatAPI"; if (exec) { logln("DecimalFormatAPI test---"); logln(""); IntlTestDecimalFormatAPI test; callTest( test, par ); } break; case 10: name = "sma"; if (exec) { logln("TestSuite Format/SmallClasses---"); logln(""); TestFormatSmallClasses test; callTest( test, par ); } break; case 11: name = "NumberFormatAPI"; if (exec) { logln("NumberFormatAPI test---"); logln(""); IntlTestNumberFormatAPI test; callTest( test, par ); } break; case 12: name = "SimpleDateFormatAPI"; if (exec) { logln("SimpleDateFormatAPI test---"); logln(""); IntlTestSimpleDateFormatAPI test; callTest( test, par ); } break; case 13: name = "DateFormatAPI"; if (exec) { logln("DateFormatAPI test---"); logln(""); IntlTestDateFormatAPI test; callTest( test, par ); } break; case 14: name = "TestDateFormat"; if (exec) { logln("TestDateFormat test---"); logln(""); DateFormatTest test; callTest( test, par ); } break; case 15: name = "msg"; if (exec) { logln("TestMessageFormat test---"); logln(""); TestMessageFormat test; callTest( test, par ); } break; case 16: name = "TestNumberFormat"; if (exec) { logln("TestNumberFormat test---"); logln(""); NumberFormatTest test; callTest( test, par ); } break; case 17: name = "DateFormatRegression"; if (exec) { logln("DateFormatRegression test---"); logln(""); DateFormatRegressionTest test; callTest( test, par ); } break; case 18: name = "MessageFormatRegression"; if (exec) { logln("MessageFormatRegression test---"); logln(""); MessageFormatRegressionTest test; callTest( test, par ); } break; case 19: name = "DateFormatMisc"; if (exec) { logln("DateFormatMisc test---"); logln(""); DateFormatMiscTests test; callTest( test, par ); } break; case 20: name = "NumberFormatRoundTrip"; if (exec) { logln("NumberFormatRoundTrip test---"); logln(""); NumberFormatRoundTripTest test; callTest( test, par ); } break; case 21: name = "NumberFormatRegression"; if (exec) { logln("NumberFormatRegression test---"); logln(""); NumberFormatRegressionTest test; callTest( test, par ); } break; case 22: name = "DateFormatRoundTrip"; if (exec) { logln("DateFormatRoundTrip test---"); logln(""); DateFormatRoundTripTest test; callTest( test, par ); } break; case 23: name = "ParsePosition"; if (exec) { logln("ParsePosition test---"); logln(""); ParsePositionTest test; callTest( test, par ); } break; case 24: name = "CalendarRegression"; if (exec) { logln("CalendarRegression test---"); logln(""); CalendarRegressionTest test; callTest( test, par ); } break; case 25: name = "TimeZoneRegression"; if (exec) { logln("TimeZoneRegression test---"); logln(""); TimeZoneRegressionTest test; callTest( test, par ); } break; /* case 28: name = "DateFormatSymbolsCAPI"; if (exec) { logln("DateFormatSymbols C API test---"); logln(""); IntlTestDateFormatSymbolsC test; callTest( test, par ); } break; case 29: name = "DecimalFormatSymbolsCAPI"; if (exec) { logln("DecimalFormatSymbols C API test---"); logln(""); IntlTestDecimalFormatSymbolsC test; callTest( test, par ); } break; case 30: name = "SimpleDateFormatCAPI"; if (exec) { logln("SimpleDateFormat C API test---"); logln(""); IntlTestSimpleDateFormatAPIC test; callTest( test, par ); } break; case 31: name = "DateFormatCAPI"; if (exec) { logln("DateFormat C API test---"); logln(""); IntlTestDateFormatAPIC test; callTest( test, par ); } break; case 32: name = "DecimalFormatCAPI"; if (exec) { logln("Decimal Format C API test---"); logln(""); IntlTestDecimalFormatAPIC test; callTest( test, par ); } break; case 33: name = "NumberFormatCAPI"; if (exec) { logln("NumberFormat C API test---"); logln(""); IntlTestNumberFormatAPIC test; callTest( test, par ); } break; case 34: name = "NumberSpelloutFormatCAPI"; if (exec) { logln("NumberSpelloutFormat C API test---"); logln(""); CNumberSpelloutFormatTest test; callTest(test, par); } break; case 35: name = "NumberSpelloutFormatCRoundTrip"; if (exec) { logln("NumberSpelloutFormat C Round Trip test---"); logln(""); CNumberSpelloutFormatRoundTripTest test; callTest(test, par); } break; case 36: name = "FormatSmallClassesCAPI"; if (exec) { logln("Format Small Classes C-API test---"); logln(); TestCwrapperFormatSmallClasses test; callTest(test, par); } break; case 37: name = "MessageFormatCAPI"; if (exec) { logln("MessageFormat C-API test---"); logln(); TestCwrapperMessageFormat test; callTest(test, par); } break; case 38: name = "ChoiceFormatCAPI"; if (exec) { logln("ChoiceFormat C-API test---"); logln(); TestCwrapperChoiceFormat test; callTest(test, par); } break; case 39: name = "CalendarCAPI"; if (exec) { logln("Calendar C-API test---"); logln(); TestCwrapperCalendar test; callTest(test, par); } break; case 40: name = "TimeZoneCAPI"; if (exec) { logln("TimeZone C-API test---"); logln(); TestCwrapperTimeZone test; callTest(test, par); } break; */ default: name = ""; break; //needed to end loop } if (exec) { // restore saved Locale and TimeZone TimeZone::adoptDefault(saveDefaultTimeZone); UErrorCode status = U_ZERO_ERROR; Locale::setDefault( saveDefaultLocale, status ); if (U_FAILURE(status)) { errln("itformat: couldn't re-set default Locale!"); } } }