• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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