1 /* 2 ******************************************************************************* 3 * Copyright (C) 1996-2012, International Business Machines Corporation and * 4 * others. All Rights Reserved. * 5 ******************************************************************************* 6 */ 7 8 #ifndef ITRBNF_H 9 #define ITRBNF_H 10 11 #include "unicode/utypes.h" 12 13 #if !UCONFIG_NO_FORMATTING 14 15 #include "intltest.h" 16 #include "unicode/rbnf.h" 17 18 19 class IntlTestRBNF : public IntlTest { 20 public: 21 22 // IntlTest override 23 virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par); 24 25 #if U_HAVE_RBNF 26 /** 27 * Perform an API test 28 */ 29 virtual void TestAPI(); 30 31 /** 32 * Perform a simple spot check on the FractionalRuleSet logic 33 */ 34 virtual void TestFractionalRuleSet(); 35 36 #if 0 37 /** 38 * Perform API tests on llong 39 */ 40 virtual void TestLLong(); 41 virtual void TestLLongConstructors(); 42 virtual void TestLLongSimpleOperators(); 43 #endif 44 45 /** 46 * Perform a simple spot check on the English spellout rules 47 */ 48 virtual void TestEnglishSpellout(); 49 50 /** 51 * Perform a simple spot check on the English ordinal-abbreviation rules 52 */ 53 virtual void TestOrdinalAbbreviations(); 54 55 /** 56 * Perform a simple spot check on the duration-formatting rules 57 */ 58 virtual void TestDurations(); 59 60 /** 61 * Perform a simple spot check on the Spanish spellout rules 62 */ 63 virtual void TestSpanishSpellout(); 64 65 /** 66 * Perform a simple spot check on the French spellout rules 67 */ 68 virtual void TestFrenchSpellout(); 69 70 /** 71 * Perform a simple spot check on the Swiss French spellout rules 72 */ 73 virtual void TestSwissFrenchSpellout(); 74 75 /** 76 * Check that Belgian French matches Swiss French spellout rules 77 */ 78 virtual void TestBelgianFrenchSpellout(); 79 80 /** 81 * Perform a simple spot check on the Italian spellout rules 82 */ 83 virtual void TestItalianSpellout(); 84 85 /** 86 * Perform a simple spot check on the Portuguese spellout rules 87 */ 88 virtual void TestPortugueseSpellout(); 89 90 /** 91 * Perform a simple spot check on the German spellout rules 92 */ 93 virtual void TestGermanSpellout(); 94 95 /** 96 * Perform a simple spot check on the Thai spellout rules 97 */ 98 virtual void TestThaiSpellout(); 99 100 /** 101 * Perform a simple spot check on the Swedish spellout rules 102 */ 103 virtual void TestSwedishSpellout(); 104 105 /** 106 * Perform a simple spot check on small values 107 */ 108 virtual void TestSmallValues(); 109 110 /** 111 * Test localizations using string data. 112 */ 113 virtual void TestLocalizations(); 114 115 /** 116 * Test that all locales construct ok. 117 */ 118 virtual void TestAllLocales(); 119 120 /** 121 * Test that hebrew fractions format without trailing '<' 122 */ 123 virtual void TestHebrewFraction(); 124 125 /** 126 * Regression test, don't truncate 127 * when doing multiplier substitution to a number format rule. 128 */ 129 virtual void TestMultiplierSubstitution(); 130 131 /** 132 * Test the setDecimalFormatSymbols in RBNF 133 */ 134 virtual void TestSetDecimalFormatSymbols(); 135 136 protected: 137 virtual void doTest(RuleBasedNumberFormat* formatter, const char* const testData[][2], UBool testParsing); 138 virtual void doLenientParseTest(RuleBasedNumberFormat* formatter, const char* testData[][2]); 139 140 /* U_HAVE_RBNF */ 141 #else 142 143 virtual void TestRBNFDisabled(); 144 145 /* U_HAVE_RBNF */ 146 #endif 147 }; 148 149 #endif /* #if !UCONFIG_NO_FORMATTING */ 150 151 // endif ITRBNF_H 152 #endif 153