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 97