1 /* 2 ******************************************************************************* 3 * Copyright (C) 1996-2015, 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 void TestMultiplePluralRules(); 32 33 /** 34 * Perform a simple spot check on the FractionalRuleSet logic 35 */ 36 virtual void TestFractionalRuleSet(); 37 38 #if 0 39 /** 40 * Perform API tests on llong 41 */ 42 virtual void TestLLong(); 43 virtual void TestLLongConstructors(); 44 virtual void TestLLongSimpleOperators(); 45 #endif 46 47 /** 48 * Perform a simple spot check on the English spellout rules 49 */ 50 virtual void TestEnglishSpellout(); 51 52 /** 53 * Perform a simple spot check on the English ordinal-abbreviation rules 54 */ 55 virtual void TestOrdinalAbbreviations(); 56 57 /** 58 * Perform a simple spot check on the duration-formatting rules 59 */ 60 virtual void TestDurations(); 61 62 /** 63 * Perform a simple spot check on the Spanish spellout rules 64 */ 65 virtual void TestSpanishSpellout(); 66 67 /** 68 * Perform a simple spot check on the French spellout rules 69 */ 70 virtual void TestFrenchSpellout(); 71 72 /** 73 * Perform a simple spot check on the Swiss French spellout rules 74 */ 75 virtual void TestSwissFrenchSpellout(); 76 77 /** 78 * Check that Belgian French matches Swiss French spellout rules 79 */ 80 virtual void TestBelgianFrenchSpellout(); 81 82 /** 83 * Perform a simple spot check on the Italian spellout rules 84 */ 85 virtual void TestItalianSpellout(); 86 87 /** 88 * Perform a simple spot check on the Portuguese spellout rules 89 */ 90 virtual void TestPortugueseSpellout(); 91 92 /** 93 * Perform a simple spot check on the German spellout rules 94 */ 95 virtual void TestGermanSpellout(); 96 97 /** 98 * Perform a simple spot check on the Thai spellout rules 99 */ 100 virtual void TestThaiSpellout(); 101 102 /** 103 * Perform a simple spot check on the Swedish spellout rules 104 */ 105 virtual void TestSwedishSpellout(); 106 107 /** 108 * Perform a simple spot check on small values 109 */ 110 virtual void TestSmallValues(); 111 112 /** 113 * Test localizations using string data. 114 */ 115 virtual void TestLocalizations(); 116 117 /** 118 * Test that all locales construct ok. 119 */ 120 virtual void TestAllLocales(); 121 122 /** 123 * Test that hebrew fractions format without trailing '<' 124 */ 125 virtual void TestHebrewFraction(); 126 127 /** 128 * Regression test, don't truncate 129 * when doing multiplier substitution to a number format rule. 130 */ 131 virtual void TestMultiplierSubstitution(); 132 133 /** 134 * Test the setDecimalFormatSymbols in RBNF 135 */ 136 virtual void TestSetDecimalFormatSymbols(); 137 138 /** 139 * Test the plural rules in RBNF 140 */ 141 virtual void TestPluralRules(); 142 143 protected: 144 virtual void doTest(RuleBasedNumberFormat* formatter, const char* const testData[][2], UBool testParsing); 145 virtual void doLenientParseTest(RuleBasedNumberFormat* formatter, const char* testData[][2]); 146 147 /* U_HAVE_RBNF */ 148 #else 149 150 virtual void TestRBNFDisabled(); 151 152 /* U_HAVE_RBNF */ 153 #endif 154 }; 155 156 #endif /* #if !UCONFIG_NO_FORMATTING */ 157 158 // endif ITRBNF_H 159 #endif 160