]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/tmsgfmt.h
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / test / intltest / tmsgfmt.h
1 /***********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2004, 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 /**
61 * Verify that MessageFormat accomodates more than 10 arguments
62 * and more than 10 subformats.
63 */
64 void TestUnlimitedArgsAndSubformats();
65
66 /**
67 * Test RBNF extensions to MessageFormat.
68 */
69 void TestRBNF();
70
71 //
72 /**
73 * ------------ API tests ----------
74 * These routines test various API functionality.
75 * In addition to the methods their name suggests,
76 * they often test other methods as well.
77 **/
78 void testCopyConstructor(void);
79 void testCopyConstructor2(void);
80 void testAssignment(void);
81 void testClone(void);
82 void testEquals(void);
83 void testNotEquals(void);
84 void testSetLocale(void);
85 void testFormat(void);
86 void testParse(void);
87 void testAdopt(void);
88
89 private:
90 };
91
92 #endif /* #if !UCONFIG_NO_FORMATTING */
93
94 #endif