1 // Copyright (C) 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /******************************************************************** 4 * COPYRIGHT: 5 * Copyright (c) 2008-2016 International Business Machines Corporation and 6 * others. All Rights Reserved. 7 ********************************************************************/ 8 9 #ifndef _INTLTESTDATEINTERVALFORMAT 10 #define _INTLTESTDATEINTERVALFORMAT 11 12 #include "unicode/utypes.h" 13 #include "unicode/locid.h" 14 15 #if !UCONFIG_NO_FORMATTING 16 17 #include "intltest.h" 18 19 /** 20 * Test basic functionality of various API functions 21 **/ 22 class DateIntervalFormatTest: public IntlTest { 23 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 24 25 public: 26 /** 27 * Performs tests on many API functions, see detailed comments in source code 28 **/ 29 void testAPI(); 30 31 /** 32 * Test formatting 33 */ 34 void testFormat(); 35 36 /** 37 * Test formatting using user defined DateIntervalInfo 38 */ 39 void testFormatUserDII(); 40 41 /** 42 * Test for no unwanted side effects when setting 43 * interval patterns. 44 */ 45 void testSetIntervalPatternNoSideEffect(); 46 47 /** 48 * Tests different year formats. 49 */ 50 void testYearFormats(); 51 52 /** 53 * Stress test -- stress test formatting on 40 locales 54 */ 55 void testStress(); 56 57 void testTicket11583_2(); 58 59 void testTicket11985(); 60 61 void testTicket11669(); 62 void threadFunc11669(int32_t threadNum); 63 64 void testTicket12065(); 65 66 private: 67 /** 68 * Test formatting against expected result 69 */ 70 void expect(const char** data, int32_t data_length); 71 72 /** 73 * Test formatting against expected result using user defined 74 * DateIntervalInfo 75 */ 76 void expectUserDII(const char** data, int32_t data_length); 77 78 /** 79 * Stress test formatting 80 */ 81 void stress(const char** data, int32_t data_length, const Locale& loc, 82 const char* locName); 83 }; 84 85 #endif /* #if !UCONFIG_NO_FORMATTING */ 86 87 #endif 88