Home | History | Annotate | Download | only in intltest
      1 //  2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /*
      4  *******************************************************************************
      5  * Copyright (C) 1996-2006, International Business Machines Corporation and    *
      6  * others. All Rights Reserved.                                                *
      7  *******************************************************************************
      8  */
      9 
     10 #ifndef ITRBNFRT_H
     11 #define ITRBNFRT_H
     12 
     13 #include "unicode/utypes.h"
     14 
     15 #if !UCONFIG_NO_FORMATTING
     16 
     17 #include "intltest.h"
     18 #include "unicode/rbnf.h"
     19 
     20 class RbnfRoundTripTest : public IntlTest {
     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 exhaustive round-trip test on the English spellout rules
     28    */
     29   virtual void TestEnglishSpelloutRT();
     30 
     31   /**
     32    * Perform an exhaustive round-trip test on the duration-formatting rules
     33    */
     34   virtual void TestDurationsRT();
     35 
     36   /**
     37    * Perform an exhaustive round-trip test on the Spanish spellout rules
     38    */
     39   virtual void TestSpanishSpelloutRT();
     40 
     41   /**
     42    * Perform an exhaustive round-trip test on the French spellout rules
     43    */
     44   virtual void TestFrenchSpelloutRT();
     45 
     46   /**
     47    * Perform an exhaustive round-trip test on the Swiss French spellout rules
     48    */
     49   virtual void TestSwissFrenchSpelloutRT();
     50 
     51   /**
     52    * Perform an exhaustive round-trip test on the Italian spellout rules
     53    */
     54   virtual void TestItalianSpelloutRT();
     55 
     56   /**
     57    * Perform an exhaustive round-trip test on the German spellout rules
     58    */
     59   virtual void TestGermanSpelloutRT();
     60 
     61   /**
     62    * Perform an exhaustive round-trip test on the Swedish spellout rules
     63    */
     64   virtual void TestSwedishSpelloutRT();
     65 
     66   /**
     67    * Perform an exhaustive round-trip test on the Dutch spellout rules
     68    */
     69   virtual void TestDutchSpelloutRT();
     70 
     71   /**
     72    * Perform an exhaustive round-trip test on the Japanese spellout rules
     73    */
     74   virtual void TestJapaneseSpelloutRT();
     75 
     76   /**
     77    * Perform an exhaustive round-trip test on the Russian spellout rules
     78    */
     79   virtual void TestRussianSpelloutRT();
     80 
     81   /**
     82    * Perform an exhaustive round-trip test on the Portuguese spellout rules
     83    */
     84   virtual void TestPortugueseSpelloutRT();
     85 
     86  protected:
     87   void doTest(const RuleBasedNumberFormat* formatter,  double lowLimit, double highLimit);
     88 
     89   /* U_HAVE_RBNF */
     90 #else
     91 
     92   void TestRBNFDisabled();
     93 
     94   /* U_HAVE_RBNF */
     95 #endif
     96 };
     97 
     98 #endif /* #if !UCONFIG_NO_FORMATTING */
     99 
    100 // endif ITRBNFRT_H
    101 #endif
    102