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 **/ 20class DateIntervalFormatTest: public IntlTest { 21 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 22 23public: 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 55private: 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