]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/cintltst/ccaltst.h
ICU-64252.0.1.tar.gz
[apple/icu.git] / icuSources / test / cintltst / ccaltst.h
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 *
10 * File CAPITEST.H
11 *
12 * Modification History:
13 * Name Description
14 * Madhu Katragadda Creation
15 *********************************************************************************/
16 /* C API TEST FOR CALENDAR */
17 #ifndef _CCALTST
18 #define _CCALTST
19
20 #include "unicode/utypes.h"
21 #include "unicode/ucal.h"
22 #include "unicode/udat.h"
23
24 #if !UCONFIG_NO_FORMATTING
25
26 #include "cintltst.h"
27
28
29 /**
30 * The function used to test the Calendar API
31 **/
32 static void TestCalendar(void);
33 /**
34 * The function used to test getMillis, setMillis, setDate and setDateTime functions extensively
35 **/
36 static void TestGetSetDateAPI(void);
37 /**
38 * This function is used to test and confirm the functioning of
39 * the calendar get and set functions of calendar fields.
40 **/
41 static void TestFieldGetSet(void);
42 /**
43 * Execute and test adding and rolling extensively.
44 **/
45 static void TestAddRollExtensive(void);
46 /**
47 *Testing the Limits for various Fields of Calendar
48 **/
49 static void TestGetLimits(void);
50 /**
51 * Test that the days of the week progress properly when add is called repeatedly
52 * for increments of 24 days.
53 **/
54 static void TestDOWProgression(void);
55 /**
56 * Confirm that the offset between local time and GMT behaves as expected.
57 **/
58 static void TestGMTvsLocal(void);
59 /**
60 * test subroutine used by TestGMTvsLocal()
61 */
62 static void testZones(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
63 /**
64 * Test getKeywordValuesForLocale API
65 */
66 static void TestGetKeywordValuesForLocale(void);
67 /**
68 * Test weekend-related APIs
69 */
70 static void TestWeekend(void);
71 /**
72 * Test ambiguous wall time
73 */
74 static void TestAmbiguousWallTime(void);
75
76 /*Internal functions used*/
77 /**
78 * test subroutines used by TestAddRollExtensive()
79 **/
80 static void checkDate(UCalendar* c, int32_t y, int32_t m, int32_t d);
81
82 static void checkDateTime(UCalendar* c, int32_t y, int32_t m, int32_t d,
83 int32_t hr, int32_t min, int32_t sec, int32_t ms,
84 UCalendarDateFields field);
85
86 /**
87 * test subroutines used by TestGetSetDateAPI and TestFieldGetSet
88 **/
89 static void verify1(const char* msg, UCalendar* c, UDateFormat* dat, int32_t year, int32_t month, int32_t day);
90
91 static void verify2(const char* msg, UCalendar* c, UDateFormat* dat, int32_t year, int32_t month, int32_t day,
92 int32_t hour, int32_t min, int32_t sec, int32_t am_pm);
93
94 #endif /* #if !UCONFIG_NO_FORMATTING */
95
96 #endif