]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/dtifmtts.h
ICU-551.41.tar.gz
[apple/icu.git] / icuSources / test / intltest / dtifmtts.h
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