1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/******************************************************************** 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * COPYRIGHT: 38393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Copyright (c) 2003-2013, International Business Machines Corporation 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * and others. All Rights Reserved. 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru ******************************************************************** 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Calendar Case Test is a type of CalendarTest which compares the 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * behavior of a calendar to a certain set of 'test cases', involving 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * conversion between julian-day to fields and vice versa. 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru ********************************************************************/ 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "calcasts.h" 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#if !UCONFIG_NO_FORMATTING 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru// ======= 'Main' =========================== 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "hebrwcal.h" // for Eras 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "indiancal.h" 18c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "coptccal.h" 19c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru#include "ethpccal.h" 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/datefmt.h" 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define CASE(id,test) case id: name = #test; if (exec) { logln(#test "---"); logln((UnicodeString)""); test(); } break 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruvoid CalendarCaseTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ ) 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{ 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if (exec) logln("TestSuite CalendarCaseTest"); 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru switch (index) { 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru CASE(0,IslamicCivil); 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru CASE(1,Hebrew); 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru CASE(2,Indian); 32c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru CASE(3,Coptic); 33c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru CASE(4,Ethiopic); 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru default: name = ""; break; 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#undef CASE 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru// ======= Utility functions ================= 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruvoid CalendarCaseTest::doTestCases(const TestCase *cases, Calendar *cal) { 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t ONE_SECOND = 1000; 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t ONE_MINUTE = 60*ONE_SECOND; 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t ONE_HOUR = 60*ONE_MINUTE; 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const double ONE_DAY = 24*ONE_HOUR; 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const double JULIAN_EPOCH = -210866760000000.; // 1/1/4713 BC 12:00 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t i; 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->adoptTimeZone(TimeZone::getGMT()->clone()); 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru for(i=0;cases[i].era>=0;i++) { 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UDate t = (JULIAN_EPOCH+(ONE_DAY*cases[i].julian)); 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru logln("Test case %d: julianday%f -> date %f\n", i, cases[i].julian, t); 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Millis -> fields 57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->setTime(t, status); 58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru logln(calToStr(*cal)); 60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_ERA, cases[i].era, status); 62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_YEAR, cases[i].year,status); 63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_MONTH, cases[i].month - 1,status); 64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_DATE, cases[i].day,status); 65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_DAY_OF_WEEK, cases[i].dayOfWeek,status); 66b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_HOUR, cases[i].hour,status); 67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_MINUTE, cases[i].min,status); 68b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru checkField(cal, UCAL_SECOND, cases[i].sec,status); 69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 70b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Fields -> millis 71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->clear(); 72b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_ERA, cases[i].era); 74b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_YEAR, cases[i].year); 75b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_MONTH, cases[i].month - 1); 76b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_DATE, cases[i].day); 77b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_DAY_OF_WEEK, cases[i].dayOfWeek); 78b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_HOUR, cases[i].hour); 79b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_MINUTE, cases[i].min); 80b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru cal->set(UCAL_SECOND, cases[i].sec); 81b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 82b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UDate t2 = cal->getTime(status); 83b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 84b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(t != t2) { 85b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru errln("Field->millis: Expected %.0f but got %.0f\n", t, t2); 86b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru logln(calToStr(*cal)); 87b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 88b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 89b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 90b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 91b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruUBool CalendarCaseTest::checkField(Calendar *cal, UCalendarDateFields field, int32_t value, UErrorCode &status) 92b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{ 93b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(U_FAILURE(status)) return FALSE; 94b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t res = cal->get(field, status); 95b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(U_FAILURE(status)) { 96b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru errln((UnicodeString)"Checking field " + fieldName(field) + " and got " + u_errorName(status)); 97b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return FALSE; 98b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 99b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if(res != value) { 100b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru errln((UnicodeString)"FAIL: Checking field " + fieldName(field) + " expected " + value + " and got " + res + UnicodeString("\n")); 101b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return FALSE; 102b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } else { 103b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru logln((UnicodeString)"Checking field " + fieldName(field) + " == " + value + UnicodeString("\n")); 104b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 105b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return TRUE; 106b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 107b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 108b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru// =========== Test Cases ===================== 109b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruenum { SUN=UCAL_SUNDAY, 110b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru MON=UCAL_MONDAY, 111b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru TUE=UCAL_TUESDAY, 112b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru WED=UCAL_WEDNESDAY, 113b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru THU=UCAL_THURSDAY, 114b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru FRI=UCAL_FRIDAY, 115b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru SAT=UCAL_SATURDAY}; 116b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 117b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruvoid CalendarCaseTest::IslamicCivil() 118b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru{ 119b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const TestCase tests[] = { 120b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 121b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Most of these test cases were taken from the back of 122b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // "Calendrical Calculations", with some extras added to help 123b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // debug a few of the problems that cropped up in development. 124b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 125b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // The months in this table are 1-based rather than 0-based, 126b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // because it's easier to edit that way. 127b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Islamic 128b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Julian Day Era Year Month Day WkDay Hour Min Sec 129b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1507231.5, 0, -1245, 12, 9, SUN, 0, 0, 0}, 130b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1660037.5, 0, -813, 2, 23, WED, 0, 0, 0}, 131b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1746893.5, 0, -568, 4, 1, WED, 0, 0, 0}, 132b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1770641.5, 0, -501, 4, 6, SUN, 0, 0, 0}, 133b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1892731.5, 0, -157, 10, 17, WED, 0, 0, 0}, 134b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1931579.5, 0, -47, 6, 3, MON, 0, 0, 0}, 135b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 1974851.5, 0, 75, 7, 13, SAT, 0, 0, 0}, 136b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2091164.5, 0, 403, 10, 5, SUN, 0, 0, 0}, 137b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2121509.5, 0, 489, 5, 22, SUN, 0, 0, 0}, 138b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2155779.5, 0, 586, 2, 7, FRI, 0, 0, 0}, 139b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2174029.5, 0, 637, 8, 7, SAT, 0, 0, 0}, 140b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2191584.5, 0, 687, 2, 20, FRI, 0, 0, 0}, 141b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2195261.5, 0, 697, 7, 7, SUN, 0, 0, 0}, 142b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2229274.5, 0, 793, 7, 1, SUN, 0, 0, 0}, 143b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2245580.5, 0, 839, 7, 6, WED, 0, 0, 0}, 144b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2266100.5, 0, 897, 6, 1, SAT, 0, 0, 0}, 145b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2288542.5, 0, 960, 9, 30, SAT, 0, 0, 0}, 146b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2290901.5, 0, 967, 5, 27, SAT, 0, 0, 0}, 147b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2323140.5, 0, 1058, 5, 18, WED, 0, 0, 0}, 148b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2334848.5, 0, 1091, 6, 2, SUN, 0, 0, 0}, 149b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2348020.5, 0, 1128, 8, 4, FRI, 0, 0, 0}, 150b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2366978.5, 0, 1182, 2, 3, SUN, 0, 0, 0}, 151b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2385648.5, 0, 1234, 10, 10, MON, 0, 0, 0}, 152b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2392825.5, 0, 1255, 1, 11, WED, 0, 0, 0}, 153b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2416223.5, 0, 1321, 1, 21, SUN, 0, 0, 0}, 154b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2425848.5, 0, 1348, 3, 19, SUN, 0, 0, 0}, 155b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2430266.5, 0, 1360, 9, 8, MON, 0, 0, 0}, 156b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2430833.5, 0, 1362, 4, 13, MON, 0, 0, 0}, 157b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2431004.5, 0, 1362, 10, 7, THU, 0, 0, 0}, 158b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2448698.5, 0, 1412, 9, 13, TUE, 0, 0, 0}, 159b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2450138.5, 0, 1416, 10, 5, SUN, 0, 0, 0}, 160b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2465737.5, 0, 1460, 10, 12, WED, 0, 0, 0}, 161b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { 2486076.5, 0, 1518, 3, 5, SUN, 0, 0, 0}, 162b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { -1,-1,-1,-1,-1,-1,-1,-1,-1 } 163b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru }; 164b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 165b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 166b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru Calendar *c = Calendar::createInstance("ar@calendar=islamic-civil", status); 16750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (failure(status, "Calendar::createInstance", TRUE)) return; 168b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru c->setLenient(TRUE); 169b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru doTestCases(tests, c); 170b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 171b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const UChar expectedUChars[] = { 1728393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius 0x0627, 0x0644, 0x062e, 0x0645, 0x064a, 0x0633, 0x060c, 0x0020, 0x0662, 0x0662, 0x0020, 17359d709d503bab6e2b61931737e662dd293b40578ccornelius 0x0634, 0x0648, 0x0627, 0x0644, 0x060c, 0x0020, 0x0661, 0x0663, 0x0668, 0x0669, 0x0020, 0x0647, 0x0640, 0 1748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius }; 175b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UnicodeString result; 176b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru DateFormat *fmt = DateFormat::createDateInstance(DateFormat::kFull, Locale("ar_JO@calendar=islamic-civil")); 177b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if (fmt == NULL) { 178b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru dataerrln("Error calling DateFormat::createDateInstance"); 179b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru delete c; 180b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru return; 181b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 182b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 183b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru fmt->setTimeZone(*TimeZone::getGMT()); 184b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru fmt->format((UDate)2486076.5, result); 185b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru if (result != expectedUChars) { 186b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru errln((UnicodeString)"FAIL: DateFormatting failed. Got " + result + " and expected " + UnicodeString(expectedUChars) + UnicodeString("\n")); 187b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru errln("Maybe the resource aliasing isn't working"); 188b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru } 189b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru delete fmt; 190b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru delete c; 191b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 192b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 193b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruvoid CalendarCaseTest::Hebrew() { 194b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t TISHRI = HebrewCalendar::TISHRI; 195b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t HESHVAN = HebrewCalendar::HESHVAN; 196b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t KISLEV = HebrewCalendar::KISLEV; 197b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t TEVET = HebrewCalendar::TEVET; 198b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t SHEVAT = HebrewCalendar::SHEVAT; 199b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t ADAR_1 = HebrewCalendar::ADAR_1; 200b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t ADAR = HebrewCalendar::ADAR; 201b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t NISAN = HebrewCalendar::NISAN; 202b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t IYAR = HebrewCalendar::IYAR; 203b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t SIVAN = HebrewCalendar::SIVAN; 204b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //static const int32_t TAMUZ = HebrewCalendar::TAMUZ; 205b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t AV = HebrewCalendar::AV; 206b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t ELUL = HebrewCalendar::ELUL; 207b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 208b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const TestCase tests[] = { 209b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 210b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Most of these test cases were taken from the back of 211b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // "Calendrical Calculations", with some extras added to help 212b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // debug a few of the problems that cropped up in development. 213b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 214b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // The months in this table are 1-based rather than 0-based, 215b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // because it's easier to edit that way. 216b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 217b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Julian Day Era Year Month Day WkDay Hour Min Sec 218b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1507231.5, 0, 3174, 12, 10, SUN, 0, 0, 0}, 219b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1660037.5, 0, 3593, 3, 25, WED, 0, 0, 0}, 220b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1746893.5, 0, 3831, 1, 3, WED, 0, 0, 0}, 221b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1770641.5, 0, 3896, 1, 9, SUN, 0, 0, 0}, 222b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1892731.5, 0, 4230, 4, 18, WED, 0, 0, 0}, 223b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1931579.5, 0, 4336, 10, 4, MON, 0, 0, 0}, 224b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1974851.5, 0, 4455, 2, 13, SAT, 0, 0, 0}, 225b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2091164.5, 0, 4773, 9, 6, SUN, 0, 0, 0}, 226b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2121509.5, 0, 4856, 9, 23, SUN, 0, 0, 0}, 227b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2155779.5, 0, 4950, 8, 7, FRI, 0, 0, 0}, 228b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2174029.5, 0, 5000, 7, 8, SAT, 0, 0, 0}, 229b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2191584.5, 0, 5048, 8, 21, FRI, 0, 0, 0}, 230b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2195261.5, 0, 5058, 9, 7, SUN, 0, 0, 0}, 231b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2229274.5, 0, 5151, 11, 1, SUN, 0, 0, 0}, 232b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2245580.5, 0, 5196, 5, 7, WED, 0, 0, 0}, 233b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2266100.5, 0, 5252, 8, 3, SAT, 0, 0, 0}, 234b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2288542.5, 0, 5314, 1, 1, SAT, 0, 0, 0}, 235b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2290901.5, 0, 5320, 6, 27, SAT, 0, 0, 0}, 236b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2323140.5, 0, 5408, 10, 20, WED, 0, 0, 0}, 237b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334551.5, 0, 5440, 1, 1, THU, 0, 0, 0}, 238b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334581.5, 0, 5440, 2, 1, SAT, 0, 0, 0}, 239b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334610.5, 0, 5440, 3, 1, SUN, 0, 0, 0}, 240b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334639.5, 0, 5440, 4, 1, MON, 0, 0, 0}, 241b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334668.5, 0, 5440, 5, 1, TUE, 0, 0, 0}, 242b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334698.5, 0, 5440, 6, 1, THU, 0, 0, 0}, 243b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334728.5, 0, 5440, 7, 1, SAT, 0, 0, 0}, 244b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334757.5, 0, 5440, 8, 1, SUN, 0, 0, 0}, 245b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334787.5, 0, 5440, 9, 1, TUE, 0, 0, 0}, 246b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334816.5, 0, 5440, 10, 1, WED, 0, 0, 0}, 247b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334846.5, 0, 5440, 11, 1, FRI, 0, 0, 0}, 248b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334848.5, 0, 5440, 11, 3, SUN, 0, 0, 0}, 249b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334934.5, 0, 5441, 1, 1, TUE, 0, 0, 0}, 250b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2348020.5, 0, 5476, 12, 5, FRI, 0, 0, 0}, 251b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2366978.5, 0, 5528, 11, 4, SUN, 0, 0, 0}, 252b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2385648.5, 0, 5579, 12, 11, MON, 0, 0, 0}, 253b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2392825.5, 0, 5599, 8, 12, WED, 0, 0, 0}, 254b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2416223.5, 0, 5663, 8, 22, SUN, 0, 0, 0}, 255b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2425848.5, 0, 5689, 12, 19, SUN, 0, 0, 0}, 256b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2430266.5, 0, 5702, 1, 8, MON, 0, 0, 0}, 257b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2430833.5, 0, 5703, 8, 14, MON, 0, 0, 0}, 258b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2431004.5, 0, 5704, 1, 8, THU, 0, 0, 0}, 259b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2448698.5, 0, 5752, 7, 12, TUE, 0, 0, 0}, 260b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2450138.5, 0, 5756, 7, 5, SUN, 0, 0, 0}, 261b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2465737.5, 0, 5799, 2, 12, WED, 0, 0, 0}, 262b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2486076.5, 0, 5854, 12, 5, SUN, 0, 0, 0}, 263b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 264b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Test cases taken from a table of 14 "year types" in the Help file 265b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // of the application "Hebrew Calendar" 266b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2456187.5, 0, 5773, 1, 1, MON, 0, 0, 0}, 267b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2459111.5, 0, 5781, 1, 1, SAT, 0, 0, 0}, 268b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2453647.5, 0, 5766, 1, 1, TUE, 0, 0, 0}, 269b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2462035.5, 0, 5789, 1, 1, THU, 0, 0, 0}, 270b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2458756.5, 0, 5780, 1, 1, MON, 0, 0, 0}, 271b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2460586.5, 0, 5785, 1, 1, THU, 0, 0, 0}, 272b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2463864.5, 0, 5794, 1, 1, SAT, 0, 0, 0}, 273b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2463481.5, 0, 5793, 1, 1, MON, 0, 0, 0}, 274b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2470421.5, 0, 5812, 1, 1, THU, 0, 0, 0}, 275b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2460203.5, 0, 5784, 1, 1, SAT, 0, 0, 0}, 276b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2459464.5, 0, 5782, 1, 1, TUE, 0, 0, 0}, 277b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2467142.5, 0, 5803, 1, 1, MON, 0, 0, 0}, 278b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2455448.5, 0, 5771, 1, 1, THU, 0, 0, 0}, 279b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Test cases for JB#2327 280b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // http://www.fourmilab.com/documents/calendar/ 281b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // http://www.calendarhome.com/converter/ 282b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 2452465.5, 2002, JULY, 10, 5762, AV, 1, 283b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 2452494.5, 2002, AUGUST, 8, 5762, AV, 30, 284b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 2452495.5, 2002, AUGUST, 9, 5762, ELUL, 1, 285b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 2452523.5, 2002, SEPTEMBER, 6, 5762, ELUL, 29, 286b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 2452524.5, 2002, SEPTEMBER, 7, 5763, TISHRI, 1, 287b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Julian Day Era Year Month Day WkDay Hour Min Sec 288b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2452465.5, 0, 5762, AV+1, 1, WED, 0, 0, 0}, 289b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2452494.5, 0, 5762, AV+1, 30, THU, 0, 0, 0}, 290b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2452495.5, 0, 5762, ELUL+1, 1, FRI, 0, 0, 0}, 291b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2452523.5, 0, 5762, ELUL+1, 29, FRI, 0, 0, 0}, 292b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2452524.5, 0, 5763, TISHRI+1, 1, SAT, 0, 0, 0}, 293b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { -1,-1,-1,-1,-1,-1,-1,-1,-1 } 294b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru }; 295b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 296b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 297b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru Calendar *c = Calendar::createInstance("he_HE@calendar=hebrew", status); 29850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (failure(status, "Calendar::createInstance", TRUE)) return; 299b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru c->setLenient(TRUE); 300b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru doTestCases(tests, c); 301b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 302b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 303b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Additional test cases for bugs found during development 304b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // G.YY/MM/DD Era Year Month Day WkDay Hour Min Sec 305b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //{1013, 9, 8, 0, 4774, 1, 1, TUE, 0, 0, 0}, 306b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //{1239, 9, 1, 0, 5000, 1, 1, THU, 0, 0, 0}, 307b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru //{1240, 9,18, 0, 5001, 1, 1, TUE, 0, 0, 0}, 308b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 309b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 310b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru delete c; 311b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 312b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 313b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruvoid CalendarCaseTest::Indian() { 314b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Months in indian calendar are 0-based. Here taking 1-based names: 315b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t CHAITRA = IndianCalendar::CHAITRA + 1; 316b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t VAISAKHA = IndianCalendar::VAISAKHA + 1; 317b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t JYAISTHA = IndianCalendar::JYAISTHA + 1; 318b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t ASADHA = IndianCalendar::ASADHA + 1; 319b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t SRAVANA = IndianCalendar::SRAVANA + 1 ; 320b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t BHADRA = IndianCalendar::BHADRA + 1 ; 321b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t ASVINA = IndianCalendar::ASVINA + 1 ; 322b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t KARTIKA = IndianCalendar::KARTIKA + 1 ; 323b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t AGRAHAYANA = IndianCalendar::AGRAHAYANA + 1 ; 324b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t PAUSA = IndianCalendar::PAUSA + 1 ; 325b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t MAGHA = IndianCalendar::MAGHA + 1 ; 326b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const int32_t PHALGUNA = IndianCalendar::PHALGUNA + 1 ; 327b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 328b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 329b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru static const TestCase tests[] = { 330b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Test dates generated from: 331b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // http://www.fourmilab.ch/documents/calendar/ 332b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 333b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // A huge list of test cases to make sure that computeTime and computeFields 334b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // work properly for a wide range of data in the Indian civil calendar. 335b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // 336b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru // Julian Day Era Year Month Day WkDay Hour Min Sec 337b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1770641.5, 0, 57, ASVINA, 10, SUN, 0, 0, 0}, 338b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1892731.5, 0, 391, PAUSA, 18, WED, 0, 0, 0}, 339b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1931579.5, 0, 498, VAISAKHA, 30, MON, 0, 0, 0}, 340b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {1974851.5, 0, 616, KARTIKA, 19, SAT, 0, 0, 0}, 341b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2091164.5, 0, 935, VAISAKHA, 5, SUN, 0, 0, 0}, 342b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2121509.5, 0, 1018, JYAISTHA, 3, SUN, 0, 0, 0}, 343b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2155779.5, 0, 1112, CHAITRA, 2, FRI, 0, 0, 0}, 344b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2174029.5, 0, 1161, PHALGUNA, 20, SAT, 0, 0, 0}, 345b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2191584.5, 0, 1210, CHAITRA, 13, FRI, 0, 0, 0}, 346b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2195261.5, 0, 1220, VAISAKHA, 7, SUN, 0, 0, 0}, 347b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2229274.5, 0, 1313, JYAISTHA, 22, SUN, 0, 0, 0}, 348b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2245580.5, 0, 1357, MAGHA, 14, WED, 0, 0, 0}, 349b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2266100.5, 0, 1414, CHAITRA, 20, SAT, 0, 0, 0}, 350b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2288542.5, 0, 1475, BHADRA, 28, SAT, 0, 0, 0}, 351b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2290901.5, 0, 1481, PHALGUNA, 15, SAT, 0, 0, 0}, 352b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2323140.5, 0, 1570, JYAISTHA, 20, WED, 0, 0, 0}, 353b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334551.5, 0, 1601, BHADRA, 16, THU, 0, 0, 0}, 354b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334581.5, 0, 1601, ASVINA, 15, SAT, 0, 0, 0}, 355b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334610.5, 0, 1601, KARTIKA, 14, SUN, 0, 0, 0}, 356b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334639.5, 0, 1601, AGRAHAYANA, 13, MON, 0, 0, 0}, 357b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334668.5, 0, 1601, PAUSA, 12, TUE, 0, 0, 0}, 358b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334698.5, 0, 1601, MAGHA, 12, THU, 0, 0, 0}, 359b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334728.5, 0, 1601, PHALGUNA, 12, SAT, 0, 0, 0}, 360b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334757.5, 0, 1602, CHAITRA, 11, SUN, 0, 0, 0}, 361b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334787.5, 0, 1602, VAISAKHA, 10, TUE, 0, 0, 0}, 362b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334816.5, 0, 1602, JYAISTHA, 8, WED, 0, 0, 0}, 363b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334846.5, 0, 1602, ASADHA, 7, FRI, 0, 0, 0}, 364b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334848.5, 0, 1602, ASADHA, 9, SUN, 0, 0, 0}, 365b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2348020.5, 0, 1638, SRAVANA, 2, FRI, 0, 0, 0}, 366b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2334934.5, 0, 1602, ASVINA, 2, TUE, 0, 0, 0}, 367b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2366978.5, 0, 1690, JYAISTHA, 29, SUN, 0, 0, 0}, 368b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2385648.5, 0, 1741, SRAVANA, 11, MON, 0, 0, 0}, 369b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2392825.5, 0, 1761, CHAITRA, 6, WED, 0, 0, 0}, 370b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2416223.5, 0, 1825, CHAITRA, 29, SUN, 0, 0, 0}, 371b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2425848.5, 0, 1851, BHADRA, 3, SUN, 0, 0, 0}, 372b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2430266.5, 0, 1863, ASVINA, 7, MON, 0, 0, 0}, 373b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2430833.5, 0, 1865, CHAITRA, 29, MON, 0, 0, 0}, 374b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2431004.5, 0, 1865, ASVINA, 15, THU, 0, 0, 0}, 375b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2448698.5, 0, 1913, PHALGUNA, 27, TUE, 0, 0, 0}, 376b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2450138.5, 0, 1917, PHALGUNA, 6, SUN, 0, 0, 0}, 377b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2465737.5, 0, 1960, KARTIKA, 19, WED, 0, 0, 0}, 378b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru {2486076.5, 0, 2016, ASADHA, 27, SUN, 0, 0, 0}, 379b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru { -1,-1,-1,-1,-1,-1,-1,-1,-1 } 380b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru }; 381b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 382b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 383b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru Calendar *c = Calendar::createInstance("hi_IN@calendar=indian", status); 38450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (failure(status, "Calendar::createInstance", TRUE)) return; 385b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru c->setLenient(TRUE); 386b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru doTestCases(tests, c); 387b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 388b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru delete c; 389b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} 390b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 391c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid CalendarCaseTest::Coptic() { 392c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru static const TestCase tests[] = { 393c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // JD Era Year Month Day WkDay Hour Min Sec 394c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2401442.5, 1, 1579, 2, 20, WED, 0, 0, 0}, // Gregorian: 20/10/1862 395c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402422.5, 1, 1581, 10, 29, WED, 0, 0, 0}, // Gregorian: 05/07/1865 396c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402630.5, 1, 1582, 5, 22, MON, 0, 0, 0}, // Gregorian: 29/01/1866 397c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402708.5, 1, 1582, 8, 10, TUE, 0, 0, 0}, // Gregorian: 17/04/1866 398c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402971.5, 1, 1583, 4, 28, SAT, 0, 0, 0}, // Gregorian: 05/01/1867 399c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2403344.5, 1, 1584, 5, 5, MON, 0, 0, 0}, // Gregorian: 13/01/1868 400c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1721059.5, 0, 285, 5, 7, SAT, 0, 0, 0}, // Gregorian: 01/01/0000 401c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1721425.5, 0, 284, 5, 8, MON, 0, 0, 0}, // Gregorian: 01/01/0001 402c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1824663.5, 0, 2, 13, 6, WED, 0, 0, 0}, // Gregorian: 29/08/0283 403c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1824664.5, 0, 1, 1, 1, THU, 0, 0, 0}, // Gregorian: 30/08/0283 404c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1825029.5, 1, 1, 1, 1, FRI, 0, 0, 0}, // Gregorian: 29/08/0284 405c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1825394.5, 1, 2, 1, 1, SAT, 0, 0, 0}, // Gregorian: 29/08/0285 406c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1825759.5, 1, 3, 1, 1, SUN, 0, 0, 0}, // Gregorian: 29/08/0286 407c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1826125.5, 1, 4, 1, 1, TUE, 0, 0, 0}, // Gregorian: 30/08/0287 408c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1825028.5, 0, 1, 13, 5, THU, 0, 0, 0}, // Gregorian: 28/08/0284 409c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1825393.5, 1, 1, 13, 5, FRI, 0, 0, 0}, // Gregorian: 28/08/0285 410c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1825758.5, 1, 2, 13, 5, SAT, 0, 0, 0}, // Gregorian: 28/08/0286 411c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1826123.5, 1, 3, 13, 5, SUN, 0, 0, 0}, // Gregorian: 28/08/0287 412c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1826124.5, 1, 3, 13, 6, MON, 0, 0, 0}, // Gregorian: 29/08/0287 413c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // above is first coptic leap year 414c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1826489.5, 1, 4, 13, 5, TUE, 0, 0, 0}, // Gregorian: 28/08/0288 415c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299158.5, 1, 1299, 2, 6, WED, 0, 0, 0}, // Gregorian: 13/10/1582 416c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299159.5, 1, 1299, 2, 7, THU, 0, 0, 0}, // Gregorian: 14/10/1582 417c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299160.5, 1, 1299, 2, 8, FRI, 0, 0, 0}, // Gregorian: 15/10/1582 418c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299161.5, 1, 1299, 2, 9, SAT, 0, 0, 0}, // Gregorian: 16/10/1582 419c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 420c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2415020.5, 1, 1616, 4, 23, MON, 0, 0, 0}, // Gregorian: 01/01/1900 421c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2453371.5, 1, 1721, 4, 23, SAT, 0, 0, 0}, // Gregorian: 01/01/2005 422c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2555528.5, 1, 2000, 13, 5, FRI, 0, 0, 0}, // Gregorian: 12/09/2284 423c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru { -1, -1, -1, -1, -1, -1, -1, -1, -1} 424c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 425c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 426c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 427c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Calendar *c = Calendar::createInstance("cop_EG@calendar=coptic", status); 42850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (failure(status, "Calendar::createInstance", TRUE)) return; 42950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 430c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru c->setLenient(TRUE); 431c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru doTestCases(tests, c); 432c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 433c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete c; 434c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 435c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 436c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queruvoid CalendarCaseTest::Ethiopic() { 437c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru static TestCase tests[] = { 438c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // JD Era Year Month Day WkDay Hour Min Sec 439c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2401442.5, 1, 1855, 2, 20, WED, 0, 0, 0}, // Gregorian: 29/10/1862 440c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402422.5, 1, 1857, 10, 29, WED, 0, 0, 0}, // Gregorian: 05/07/1865 441c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402630.5, 1, 1858, 5, 22, MON, 0, 0, 0}, // Gregorian: 29/01/1866 442c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402708.5, 1, 1858, 8, 10, TUE, 0, 0, 0}, // Gregorian: 17/04/1866 443c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2402971.5, 1, 1859, 4, 28, SAT, 0, 0, 0}, // Gregorian: 05/01/1867 444c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2403344.5, 1, 1860, 5, 5, MON, 0, 0, 0}, // Gregorian: 13/01/1868 445c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1721059.5, 0, 5492, 5, 7, SAT, 0, 0, 0}, // Gregorian: 01/01/0000 446c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1721425.5, 0, 5493, 5, 8, MON, 0, 0, 0}, // Gregorian: 01/01/0001 447c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1723854.5, 0, 5499, 13, 6, MON, 0, 0, 0}, // Gregorian: 27/08/0007 448c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 449c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1723855.5, 0, 5500, 1, 1, TUE, 0, 0, 0}, // Gregorian: 28/08/0007 450c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1724220.5, 1, 1, 1, 1, WED, 0, 0, 0}, // Gregorian: 27/08/0008 451c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1724585.5, 1, 2, 1, 1, THU, 0, 0, 0}, // Gregorian: 27/08/0009 452c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1724950.5, 1, 3, 1, 1, FRI, 0, 0, 0}, // Gregorian: 27/08/0010 453c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 454c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //{1724536.5, 1, 4, 1, 1, SUN, 0, 0, 0}, // Gregorian: 28/08/0011 455c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1725316.5, 1, 4, 1, 1, SUN, 0, 0, 0}, // Gregorian: 28/08/0011 - dlf 456c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1724219.5, 0, 5500, 13, 5, TUE, 0, 0, 0}, // Gregorian: 26/08/0008 457c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1724584.5, 1, 1, 13, 5, WED, 0, 0, 0}, // Gregorian: 26/08/0009 458c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1724949.5, 1, 2, 13, 5, THU, 0, 0, 0}, // Gregorian: 26/08/0010 459c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1725314.5, 1, 3, 13, 5, FRI, 0, 0, 0}, // Gregorian: 26/08/0011 460c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1725315.5, 1, 3, 13, 6, SAT, 0, 0, 0}, // Gregorian: 27/08/0011 - first ethiopic leap year 461c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru //{1725560.5, 1, 4, 13, 5, SUN, 0, 0, 0}, // Gregorian: 26/08/0012 - dlf 462c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {1725680.5, 1, 4, 13, 5, SUN, 0, 0, 0}, // Gregorian: 26/08/0012 463c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299158.5, 1, 1575, 2, 6, WED, 0, 0, 0}, // Gregorian: 13/10/1582 464c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299159.5, 1, 1575, 2, 7, THU, 0, 0, 0}, // Gregorian: 14/10/1582 Julian 04/10/1582 465c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 466c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299160.5, 1, 1575, 2, 8, FRI, 0, 0, 0}, // Gregorian: 15/10/1582 467c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2299161.5, 1, 1575, 2, 9, SAT, 0, 0, 0}, // Gregorian: 16/10/1582 468c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 469c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2415020.5, 1, 1892, 4, 23, MON, 0, 0, 0}, // Gregorian: 01/01/1900 470c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2453371.5, 1, 1997, 4, 23, SAT, 0, 0, 0}, // Gregorian: 01/01/2005 471c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru {2454719.5, 1, 2000, 13, 5, WED, 0, 0, 0}, // Gregorian: 10/09/2008 472c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru { -1, -1, -1, -1, -1, -1, -1, -1, -1} 473c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru }; 474c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 475c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 476c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru Calendar *c = Calendar::createInstance("am_ET@calendar=ethiopic", status); 47750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (failure(status, "Calendar::createInstance", TRUE)) return; 478c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru c->setLenient(TRUE); 479c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru doTestCases(tests, c); 480c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 481c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete c; 482c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 483c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru // Testing Amete Alem mode 484c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru int32_t i; 485c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru TestCase *tcase = tests; 486c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru for (i = 0; tcase[i].era >= 0; i++) { 487c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru if (tcase[i].era == 1) { 488c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru tcase[i].era = 0; // Change to Amete Alem era 489c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru tcase[i].year += 5500; // Amete Mihret 1 = Amete Alem 5501 490c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 491c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru } 492c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru c = Calendar::createInstance("am_ET@calendar=ethiopic-amete-alem", status); 49350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho if (failure(status, "Calendar::createInstance", TRUE)) return; 494c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru c->setLenient(TRUE); 495c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru doTestCases(tests, c); 496c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 497c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru delete c; 498c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru} 499c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 500c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru 501b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif 502