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 * Stress test -- stress test formatting on 40 locales 47 */ 48 void testStress(); 49 50 private: 51 /** 52 * Test formatting against expected result 53 */ 54 void expect(const char** data, int32_t data_length); 55 56 /** 57 * Test formatting against expected result using user defined 58 * DateIntervalInfo 59 */ 60 void expectUserDII(const char** data, int32_t data_length); 61 62 /** 63 * Stress test formatting 64 */ 65 void stress(const char** data, int32_t data_length, const Locale& loc, 66 const char* locName); 67 }; 68 69 #endif /* #if !UCONFIG_NO_FORMATTING */ 70 71 #endif 72