1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/*********************************************************************** 283a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius * Copyright (c) 1997-2012, International Business Machines Corporation 3b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * and others. All Rights Reserved. 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru ***********************************************************************/ 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef __CalendarTest__ 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define __CalendarTest__ 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h" 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#if !UCONFIG_NO_FORMATTING 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/calendar.h" 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/smpdtfmt.h" 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "caltztst.h" 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruclass CalendarTest: public CalendarTimeZoneTest { 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // IntlTest override 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ); 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * This test confirms the correct behavior of add when incrementing 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * through subsequent days. 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestRog(void); 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Test the handling of the day of the week, checking for correctness and 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * for correct minimum and maximum values. 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestDOW943(void); 32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * test subroutine use by TestDOW943 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void dowTest(UBool lenient); 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Confirm that cloned Calendar objects do not inadvertently share substructures. 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestClonesUnique908(void); 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Confirm that the Gregorian cutoff value works as advertised. 42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestGregorianChange768(void); 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Confirm the functioning of the field disambiguation algorithm. 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestDisambiguation765(void); 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Test various API methods for API completeness. 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestGenericAPI(void); // New to C++ -- needs to be back ported to Java 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestWOY(void); 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestDebug(void); 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * test subroutine used by TestDisambiguation765 60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void verify765(const UnicodeString& msg, Calendar* c, int32_t year, int32_t month, int32_t day); 62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * test subroutine used by TestDisambiguation765 64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void verify765(const UnicodeString& msg/*, IllegalArgumentException e*/, UErrorCode status); 66b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 68b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Confirm that the offset between local time and GMT behaves as expected. 70b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestGMTvsLocal4064654(void); 72b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 74b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 75b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * test subroutine used by TestGMTvsLocal4064654 76b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 77b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void test4064654(int32_t yr, int32_t mo, int32_t dt, int32_t hr, int32_t mn, int32_t sc); 78b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 79b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 80b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 81b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * The operations of adding and setting should not exhibit pathological 82b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * dependence on the order of operations. This test checks for this. 83b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 84b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestAddSetOrder621(void); 85b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 86b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Confirm that adding to various fields works. 87b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 88b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestAdd520(void); 89b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 90b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Execute and test adding and rolling in GregorianCalendar extensively. 91b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 92b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestAddRollExtensive(void); 93b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 94b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 95b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // internal utility routine for checking date 96b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void check520(Calendar* c, 97b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t y, int32_t m, int32_t d, 98b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t hr, int32_t min, int32_t sec, 99b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t ms, UCalendarDateFields field); 100b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 101b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void check520(Calendar* c, 102b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t y, int32_t m, int32_t d); 103b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 104b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 105b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 106b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Test that setting of fields works. In particular, make sure that all instances 107b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * of GregorianCalendar don't share a static instance of the fields array. 108b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 109b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestFieldSet4781(void); 110b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* virtual void TestSerialize337(); 111b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 112b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 113b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UnicodeString& PREFIX; 114b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UnicodeString& POSTFIX; 115b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UnicodeString& FILENAME; 116b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/ 117b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 118b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 119b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Verify that the seconds of a Calendar can be zeroed out through the 120b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * expected sequence of operations. 121b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 122b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestSecondsZero121(void); 123b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 124b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Verify that a specific sequence of adding and setting works as expected; 125b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * it should not vary depending on when and whether the get method is 126b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * called. 127b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 128b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestAddSetGet0610(void); 129b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 130b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 131b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // internal routine for checking date 132b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UnicodeString value(Calendar* calendar); 133b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 134b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 135b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 136b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Verify that various fields on a known date are set correctly. 137b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 138b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestFields060(void); 139b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 140b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 141b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static int32_t EXPECTED_FIELDS[]; 142b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t EXPECTED_FIELDS_length; 143b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 144b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 145b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 146b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Verify that various fields on a known date are set correctly. In this 147b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * case, the start of the epoch (January 1 1970). 148b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 149b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestEpochStartFields(void); 150b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 151b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 152b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static int32_t EPOCH_FIELDS[]; 153b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 154b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 155b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 156b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Test that the days of the week progress properly when add is called repeatedly 157b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * for increments of 24 days. 158b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 159b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestDOWProgression(void); 160b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 161b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Test newly added fields - DOW_LOCAL and YEAR_WOY 162b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 163b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void TestDOW_LOCALandYEAR_WOY(void); 164b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // test subroutine used by TestDOW_LOCALandYEAR_WOY 165b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void doYEAR_WOYLoop(Calendar *cal, 166b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru SimpleDateFormat *sdf, int32_t times, UErrorCode& status); 167b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // test subroutine used by TestDOW_LOCALandYEAR_WOY 168b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void loop_addroll(Calendar *cal, /*SimpleDateFormat *sdf, */ 169b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int times, UCalendarDateFields field, UCalendarDateFields field2, 170b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode& errorCode); 171b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 172b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestYWOY(void); 173b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void TestJD(void); 174b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 175b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void yearAddTest(Calendar& cal, UErrorCode& status); 176b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 177b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: // package 178b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // test subroutine use by TestDOWProgression 179b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void marchByDelta(Calendar* cal, int32_t delta); 180b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 181b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru public: 182b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // for other tests' use 183b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UnicodeString fieldName(UCalendarDateFields f); 184b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UnicodeString calToStr(const Calendar & cal); 185b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 186b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // List of non-installed locales with interesting calendars 187b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 188b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 189b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return the count of 'other' locales to test 190b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 191b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static int32_t testLocaleCount(); 192b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 193b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 194b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param i index of 'other' locale to return 195b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return locale ID 196b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 197b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const char* testLocaleID(int32_t i); 198b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 199b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 200b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Clone the specified calendar, and determine its earliest supported date 201b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * by setting the extended year to the minimum value. 202b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param cal Calendar (will be cloned) 203b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param isGregorian output: returns 'TRUE' if the calendar's class is GregorianCalendar 204b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status error code 205b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 206b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UDate minDateOfCalendar(const Calendar& cal, UBool &isGregorian, UErrorCode& status); 207b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 208b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 209b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Construct a calendar of the specified locale, and determine its earliest supported date 210b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * by setting the extended year to the minimum value. 211b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param locale locale of calendar to check 212b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param isGregorian output: returns 'TRUE' if the calendar's class is GregorianCalendar 213b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status error code 214b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 215b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static UDate minDateOfCalendar(const Locale& locale, UBool &isGregorian, UErrorCode& status); 216b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 217b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // internal - for other test use 218b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru public: 219b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru void Test6703(void); 220b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru void Test3785(void); 22150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho void Test1624(void); 222b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 223b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho /** 224b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho * Test the time stamp array recalculation during heavy Calendar usage 225b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho */ 226b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho void TestTimeStamp(void); 227b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho /** 228b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho * Test the ISO8601 calendar type 229b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho */ 230b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho void TestISO8601(void); 23183a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius 23283a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius /** 23383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius * Test cases for [set|get][Repeated|Skipped]WallTimeOption 23483a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius */ 23583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius void TestAmbiguousWallTimeAPIs(void); 23683a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius void TestRepeatedWallTime(void); 23783a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius void TestSkippedWallTime(void); 23883a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius 23983a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius void TestCloneLocale(void); 240b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru}; 241b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 242b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_FORMATTING */ 243b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 244b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif // __CalendarTest__ 245