• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
20 class IntlCalendarTest: public CalendarTimeZoneTest {
21 public:
22     // IntlTest override
23     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ) override;
24 public:
25     void TestTypes();
26 
27     void TestGregorian();
28 
29     void TestBuddhist();
30     void TestBuddhistFormat();
31     void TestBug21043Indian();
32     void TestBug21044Hebrew();
33     void TestBug21045Islamic();
34     void TestBug21046IslamicUmalqura();
35 
36     void TestTaiwan();
37 
38     void TestJapanese();
39     void TestJapaneseFormat();
40     void TestJapanese3860();
41     void TestForceGannenNumbering();
42 
43     void TestPersian();
44     void TestPersianFormat();
45 
46     void TestConsistencyGregorian();
47     void TestConsistencyCoptic();
48     void TestConsistencyEthiopic();
49     void TestConsistencyROC();
50     void TestConsistencyChinese();
51     void TestConsistencyDangi();
52     void TestConsistencyBuddhist();
53     void TestConsistencyEthiopicAmeteAlem();
54     void TestConsistencyHebrew();
55     void TestConsistencyIndian();
56     void TestConsistencyIslamic();
57     void TestConsistencyIslamicCivil();
58     void TestConsistencyIslamicRGSA();
59     void TestConsistencyIslamicTBLA();
60     void TestConsistencyIslamicUmalqura();
61     void TestConsistencyPersian();
62     void TestConsistencyJapanese();
63 
64  protected:
65     // Test a Gregorian-Like calendar
66     void quasiGregorianTest(Calendar& cal, const Locale& gregoLocale, const int32_t *data);
67     void simpleTest(const Locale& loc, const UnicodeString& expect, UDate expectDate, UErrorCode& status);
68     void checkConsistency(const char* locale);
69 
70     int32_t daysToCheckInConsistency;
71 
72 public: // package
73     // internal routine for checking date
74     static UnicodeString value(Calendar* calendar);
75 
76 };
77 
78 
79 #endif /* #if !UCONFIG_NO_FORMATTING */
80 
81 #endif // __IntlCalendarTest__
82