]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/itrbnf.h
ICU-511.34.tar.gz
[apple/icu.git] / icuSources / 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