1 /******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 2008-2013 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 private: 56 /** 57 * Test formatting against expected result 58 */ 59 void expect(const char** data, int32_t data_length); 60 61 /** 62 * Test formatting against expected result using user defined 63 * DateIntervalInfo 64 */ 65 void expectUserDII(const char** data, int32_t data_length); 66 67 /** 68 * Stress test formatting 69 */ 70 void stress(const char** data, int32_t data_length, const Locale& loc, 71 const char* locName); 72 }; 73 74 #endif /* #if !UCONFIG_NO_FORMATTING */ 75 76 #endif 77