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