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