1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/********************************************************************
4 * COPYRIGHT:
5 * Copyright (c) 1997-2007, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 ********************************************************************/
8
9#ifndef __IntlCalendarTest__
10#define __IntlCalendarTest__
11
12#include "unicode/utypes.h"
13
14#if !UCONFIG_NO_FORMATTING
15
16#include "unicode/calendar.h"
17#include "unicode/smpdtfmt.h"
18#include "caltztst.h"
19
20class IntlCalendarTest: public CalendarTimeZoneTest {
21public:
22    // IntlTest override
23    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
24public:
25    void TestTypes(void);
26
27    void TestGregorian(void);
28
29    void TestBuddhist(void);
30    void TestBuddhistFormat(void);
31
32    void TestTaiwan(void);
33
34    void TestJapanese(void);
35    void TestJapaneseFormat(void);
36    void TestJapanese3860(void);
37
38    void TestPersian(void);
39    void TestPersianFormat(void);
40
41 protected:
42    // Test a Gregorian-Like calendar
43    void quasiGregorianTest(Calendar& cal, const Locale& gregoLocale, const int32_t *data);
44    void simpleTest(const Locale& loc, const UnicodeString& expect, UDate expectDate, UErrorCode& status);
45
46public: // package
47    // internal routine for checking date
48    static UnicodeString value(Calendar* calendar);
49
50};
51
52
53#endif /* #if !UCONFIG_NO_FORMATTING */
54
55#endif // __IntlCalendarTest__
56