| /* | 
 |  ******************************************************************************* | 
 |  * Copyright (C) 1996-2012, International Business Machines Corporation and    * | 
 |  * others. All Rights Reserved.                                                * | 
 |  ******************************************************************************* | 
 |  */ | 
 |  | 
 | #ifndef ITRBNF_H | 
 | #define ITRBNF_H | 
 |  | 
 | #include "unicode/utypes.h" | 
 |  | 
 | #if !UCONFIG_NO_FORMATTING | 
 |  | 
 | #include "intltest.h" | 
 | #include "unicode/rbnf.h" | 
 |  | 
 |  | 
 | class IntlTestRBNF : public IntlTest { | 
 |  public: | 
 |  | 
 |   // IntlTest override | 
 |   virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par); | 
 |  | 
 | #if U_HAVE_RBNF | 
 |   /**  | 
 |    * Perform an API test | 
 |    */ | 
 |   virtual void TestAPI(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the FractionalRuleSet logic | 
 |    */ | 
 |   virtual void TestFractionalRuleSet(); | 
 |  | 
 | #if 0 | 
 |   /** | 
 |    * Perform API tests on llong | 
 |    */ | 
 |   virtual void TestLLong(); | 
 |   virtual void TestLLongConstructors(); | 
 |   virtual void TestLLongSimpleOperators(); | 
 | #endif | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the English spellout rules | 
 |    */ | 
 |   virtual void TestEnglishSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the English ordinal-abbreviation rules | 
 |    */ | 
 |   virtual void TestOrdinalAbbreviations(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the duration-formatting rules | 
 |    */ | 
 |   virtual void TestDurations(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the Spanish spellout rules | 
 |    */ | 
 |   virtual void TestSpanishSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the French spellout rules | 
 |    */ | 
 |   virtual void TestFrenchSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the Swiss French spellout rules | 
 |    */ | 
 |   virtual void TestSwissFrenchSpellout(); | 
 |  | 
 |   /** | 
 |    * Check that Belgian French matches Swiss French spellout rules | 
 |    */ | 
 |   virtual void TestBelgianFrenchSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the Italian spellout rules | 
 |    */ | 
 |   virtual void TestItalianSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the Portuguese spellout rules | 
 |    */ | 
 |   virtual void TestPortugueseSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the German spellout rules | 
 |    */ | 
 |   virtual void TestGermanSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the Thai spellout rules | 
 |    */ | 
 |   virtual void TestThaiSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on the Swedish spellout rules | 
 |    */ | 
 |   virtual void TestSwedishSpellout(); | 
 |  | 
 |   /** | 
 |    * Perform a simple spot check on small values | 
 |    */ | 
 |   virtual void TestSmallValues(); | 
 |  | 
 |   /** | 
 |    * Test localizations using string data. | 
 |    */ | 
 |   virtual void TestLocalizations(); | 
 |  | 
 |   /** | 
 |    * Test that all locales construct ok. | 
 |    */ | 
 |   virtual void TestAllLocales(); | 
 |  | 
 |   /** | 
 |    * Test that hebrew fractions format without trailing '<' | 
 |    */ | 
 |   virtual void TestHebrewFraction(); | 
 |  | 
 |   /** | 
 |    * Regression test, don't truncate | 
 |    * when doing multiplier substitution to a number format rule. | 
 |    */ | 
 |   virtual void TestMultiplierSubstitution(); | 
 |  | 
 |   /** | 
 |    * Test the setDecimalFormatSymbols in RBNF | 
 |    */ | 
 |   virtual void TestSetDecimalFormatSymbols(); | 
 |  | 
 |  protected: | 
 |   virtual void doTest(RuleBasedNumberFormat* formatter, const char* const testData[][2], UBool testParsing); | 
 |   virtual void doLenientParseTest(RuleBasedNumberFormat* formatter, const char* testData[][2]); | 
 |  | 
 | /* U_HAVE_RBNF */ | 
 | #else | 
 |  | 
 |   virtual void TestRBNFDisabled(); | 
 |  | 
 | /* U_HAVE_RBNF */ | 
 | #endif | 
 | }; | 
 |  | 
 | #endif /* #if !UCONFIG_NO_FORMATTING */ | 
 |  | 
 | // endif ITRBNF_H | 
 | #endif |