]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/tmsgfmt.h
ICU-400.39.tar.gz
[apple/icu.git] / icuSources / test / intltest / tmsgfmt.h
1 /***********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2005, International Business Machines Corporation
4 * and others. All Rights Reserved.
5 ***********************************************************************/
6
7
8 #ifndef _TESTMESSAGEFORMAT
9 #define _TESTMESSAGEFORMAT
10
11 #include "unicode/utypes.h"
12
13 #if !UCONFIG_NO_FORMATTING
14
15 #include "unicode/unistr.h"
16 #include "unicode/fmtable.h"
17 #include "intltest.h"
18
19 /**
20 * TestMessageFormat tests MessageFormat, and also a few unctions in ChoiceFormat
21 */
22 class TestMessageFormat: public IntlTest {
23 public:
24 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
25
26 /**
27 * regression test for a specific bug regarding ChoiceFormat boundaries
28 **/
29 void testBug1(void);
30 /**
31 * regression test for a specific bug regarding MessageFormat using ChoiceFormat
32 **/
33 void testBug2(void);
34 /**
35 * regression test for a specific bug involving NumberFormat and Locales
36 **/
37 void testBug3(void);
38 /**
39 * test MessageFormat with various given patterns
40 **/
41 void PatternTest(void);
42 /**
43 * test MesageFormat formatting functionality in a simple example
44 **/
45 void sample(void);
46
47 /**
48 * tests the static MessageFormat::format method
49 **/
50 void testStaticFormat(/* char* par */);
51 /**
52 * tests MesageFormat functionality with a simple format
53 **/
54 void testSimpleFormat(/* char* par */);
55 /**
56 * tests MesageFormat functionality with a format including a ChoiceFormat
57 **/
58 void testMsgFormatChoice(/* char* par */);
59 /**
60 * tests MesageFormat functionality with a PluralFormat.
61 **/
62 void testMsgFormatPlural(/* char* par */);
63
64 /**
65 * Verify that MessageFormat accomodates more than 10 arguments
66 * and more than 10 subformats.
67 */
68 void TestUnlimitedArgsAndSubformats();
69
70 /**
71 * Test RBNF extensions to MessageFormat.
72 */
73 void TestRBNF();
74
75 //
76 /**
77 * ------------ API tests ----------
78 * These routines test various API functionality.
79 * In addition to the methods their name suggests,
80 * they often test other methods as well.
81 **/
82 void testCopyConstructor(void);
83 void testCopyConstructor2(void);
84 void testAssignment(void);
85 void testClone(void);
86 void testEquals(void);
87 void testNotEquals(void);
88 void testSetLocale(void);
89 void testFormat(void);
90 void testParse(void);
91 void testAdopt(void);
92 void TestTurkishCasing(void);
93 void testAutoQuoteApostrophe(void);
94
95 private:
96 };
97
98 #endif /* #if !UCONFIG_NO_FORMATTING */
99
100 #endif