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