• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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     /**
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     void TestTurkishCasing(void);
89     void testAutoQuoteApostrophe(void);
90 
91 private:
92 };
93 
94 #endif /* #if !UCONFIG_NO_FORMATTING */
95 
96 #endif
97