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-2012, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 ********************************************************************/
8
9#ifndef _CALENDARREGRESSIONTEST_
10#define _CALENDARREGRESSIONTEST_
11
12#include "unicode/utypes.h"
13
14#if !UCONFIG_NO_FORMATTING
15
16#include "unicode/calendar.h"
17#include "unicode/gregocal.h"
18#include "intltest.h"
19
20/**
21 * Performs regression test for Calendar
22 **/
23class CalendarRegressionTest: public IntlTest {
24
25    // IntlTest override
26    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
27public:
28    void test4100311(void);
29    void test4074758(void);
30    void test4028518(void);
31    void test4031502(void) ;
32    void test4035301(void) ;
33    void test4040996(void) ;
34    void test4051765(void) ;
35    void test4059654(void) ;
36    void test4061476(void) ;
37    void test4070502(void) ;
38    void test4071197(void) ;
39    void test4071385(void) ;
40    void test4073929(void) ;
41    void test4083167(void) ;
42    void test4086724(void) ;
43    void test4092362(void) ;
44    void test4095407(void) ;
45    void test4096231(void) ;
46    void test4096539(void) ;
47    void test41003112(void) ;
48    void test4103271(void) ;
49    void test4106136(void) ;
50    void test4108764(void) ;
51    void test4114578(void) ;
52    void test4118384(void) ;
53    void test4125881(void) ;
54    void test4125892(void) ;
55    void test4141665(void) ;
56    void test4142933(void) ;
57    void test4145158(void) ;
58    void test4145983(void) ;
59    void test4147269(void) ;
60
61    void Test4149677(void) ;
62    void Test4162587(void) ;
63    void Test4165343(void) ;
64    void Test4166109(void) ;
65    void Test4167060(void) ;
66    void Test4197699(void);
67    void TestJ81(void);
68    void TestJ438(void);
69    void TestT5555(void);
70    void TestT6745(void);
71	void TestT8057(void);
72    void TestLeapFieldDifference(void);
73    void TestMalaysianInstance(void);
74    void TestWeekShift(void);
75    void TestTimeZoneTransitionAdd(void);
76    void TestDeprecates(void);
77    void TestT8596(void);
78    void Test9019(void);
79    void TestT9452(void);
80    void TestT11632(void);
81    void TestPersianCalOverflow(void);
82    void TestIslamicCalOverflow(void);
83    void TestWeekOfYear13548(void);
84    void TestUTCWrongAMPM22023(void);
85    void TestAsiaManilaAfterSetGregorianChange22043(void);
86
87    void Test13745(void);
88
89    void printdate(GregorianCalendar *cal, const char *string);
90    void dowTest(UBool lenient) ;
91
92    void VerifyGetStayInBound(double test_value);
93    void VerifyNoAssertWithSetGregorianChange(const char* timezone);
94
95    static UDate getAssociatedDate(UDate d, UErrorCode& status);
96    static UDate makeDate(int32_t y, int32_t m = 0, int32_t d = 0, int32_t hr = 0, int32_t min = 0, int32_t sec = 0);
97
98    static const UDate EARLIEST_SUPPORTED_MILLIS;
99    static const UDate LATEST_SUPPORTED_MILLIS;
100    static const char* FIELD_NAME[];
101
102protected:
103    UBool failure(UErrorCode status, const char* msg);
104};
105
106#endif /* #if !UCONFIG_NO_FORMATTING */
107
108#endif // _CALENDARREGRESSIONTEST_
109//eof
110