• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /********************************************************************
2  * COPYRIGHT:
3  * Copyright (c) 2008, 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      * Stress test -- stress test formatting on 40 locales
41      */
42     void testStress();
43 
44 private:
45     /**
46      * Test formatting against expected result
47      */
48     void expect(const char** data, int32_t data_length);
49 
50     /**
51      * Test formatting against expected result using user defined
52      * DateIntervalInfo
53      */
54     void expectUserDII(const char** data, int32_t data_length);
55 
56     /**
57      * Stress test formatting
58      */
59     void stress(const char** data, int32_t data_length, const Locale& loc,
60                 const char* locName);
61 };
62 
63 #endif /* #if !UCONFIG_NO_FORMATTING */
64 
65 #endif
66