diff options
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/test/intltest/calcasts.h')
-rw-r--r-- | Build/source/libs/icu/icu-xetex/test/intltest/calcasts.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/test/intltest/calcasts.h b/Build/source/libs/icu/icu-xetex/test/intltest/calcasts.h new file mode 100644 index 00000000000..6085c229f70 --- /dev/null +++ b/Build/source/libs/icu/icu-xetex/test/intltest/calcasts.h @@ -0,0 +1,63 @@ +/******************************************************************** + * COPYRIGHT: + * Copyright (c) 2003-2007, International Business Machines Corporation + * and others. All Rights Reserved. + ******************************************************************** + * Calendar Case Test is a type of CalendarTest which compares the + * behavior of a calendar to a certain set of 'test cases', involving + * conversion between julian-day to fields and vice versa. + ********************************************************************/ + +#ifndef __CalendarCaseTest__ +#define __CalendarCaseTest__ + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_FORMATTING + +#include "unicode/calendar.h" +#include "unicode/smpdtfmt.h" +#include "caltest.h" + +class CalendarCaseTest: public CalendarTest { + public: + virtual void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ); + + /* Test case struct */ + struct TestCase { + double julian; // Julian Date + int32_t era; + int32_t year; + int32_t month; + int32_t day; + int32_t dayOfWeek; + int32_t hour; + int32_t min; + int32_t sec; + }; + + /** + * @param cases array of items to test. Terminate with a "-1" for era. + */ + void doTestCases(const TestCase *cases, Calendar *cal); + + private: + /** + * Utility function to test out a specific field + * @param cal calendar + * @param field which field + * @param value expected value + * @param status err status + * @return boolean indicating success (TRUE) or failure (FALSE) of the test. + */ + UBool checkField(Calendar *cal, UCalendarDateFields field, int32_t value, UErrorCode &status); + + private: + // test cases + void IslamicCivil(); + void Hebrew(); + void Indian(); +}; + +#endif +#endif |