Home | History | Annotate | Download | only in intltest
      1 /*
      2  *******************************************************************************
      3  * Copyright (C) 1996-2006, International Business Machines Corporation and    *
      4  * others. All Rights Reserved.                                                *
      5  *******************************************************************************
      6  */
      7 
      8 #ifndef ITRBNFRT_H
      9 #define ITRBNFRT_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 class RbnfRoundTripTest : public IntlTest {
     19 
     20   // IntlTest override
     21   virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par);
     22 
     23 #if U_HAVE_RBNF
     24   /**
     25    * Perform an exhaustive round-trip test on the English spellout rules
     26    */
     27   virtual void TestEnglishSpelloutRT();
     28 
     29   /**
     30    * Perform an exhaustive round-trip test on the duration-formatting rules
     31    */
     32   virtual void TestDurationsRT();
     33 
     34   /**
     35    * Perform an exhaustive round-trip test on the Spanish spellout rules
     36    */
     37   virtual void TestSpanishSpelloutRT();
     38 
     39   /**
     40    * Perform an exhaustive round-trip test on the French spellout rules
     41    */
     42   virtual void TestFrenchSpelloutRT();
     43 
     44   /**
     45    * Perform an exhaustive round-trip test on the Swiss French spellout rules
     46    */
     47   virtual void TestSwissFrenchSpelloutRT();
     48 
     49   /**
     50    * Perform an exhaustive round-trip test on the Italian spellout rules
     51    */
     52   virtual void TestItalianSpelloutRT();
     53 
     54   /**
     55    * Perform an exhaustive round-trip test on the German spellout rules
     56    */
     57   virtual void TestGermanSpelloutRT();
     58 
     59   /**
     60    * Perform an exhaustive round-trip test on the Swedish spellout rules
     61    */
     62   virtual void TestSwedishSpelloutRT();
     63 
     64   /**
     65    * Perform an exhaustive round-trip test on the Dutch spellout rules
     66    */
     67   virtual void TestDutchSpelloutRT();
     68 
     69   /**
     70    * Perform an exhaustive round-trip test on the Japanese spellout rules
     71    */
     72   virtual void TestJapaneseSpelloutRT();
     73 
     74   /**
     75    * Perform an exhaustive round-trip test on the Russian spellout rules
     76    */
     77   virtual void TestRussianSpelloutRT();
     78 
     79   /**
     80    * Perform an exhaustive round-trip test on the Portuguese spellout rules
     81    */
     82   virtual void TestPortugueseSpelloutRT();
     83 
     84  protected:
     85   void doTest(const RuleBasedNumberFormat* formatter,  double lowLimit, double highLimit);
     86 
     87   /* U_HAVE_RBNF */
     88 #else
     89 
     90   void TestRBNFDisabled();
     91 
     92   /* U_HAVE_RBNF */
     93 #endif
     94 };
     95 
     96 #endif /* #if !UCONFIG_NO_FORMATTING */
     97 
     98 // endif ITRBNFRT_H
     99 #endif
    100