• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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