Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(723)

Side by Side Diff: icu46/source/test/intltest/numfmtst.h

Issue 5516007: Check in the pristine copy of ICU 4.6... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « icu46/source/test/intltest/nptrans.cpp ('k') | icu46/source/test/intltest/numfmtst.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /************************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2010, International Business Machines Corporation
4 * and others. All Rights Reserved.
5 ************************************************************************/
6
7 #ifndef _NUMBERFORMATTEST_
8 #define _NUMBERFORMATTEST_
9
10 #include "unicode/utypes.h"
11
12 #if !UCONFIG_NO_FORMATTING
13
14 #include "unicode/numfmt.h"
15 #include "unicode/decimfmt.h"
16 #include "caltztst.h"
17
18 /**
19 * Performs various in-depth test on NumberFormat
20 **/
21 class NumberFormatTest: public CalendarTimeZoneTest {
22
23 // IntlTest override
24 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
25 public:
26
27 /**
28 * Test APIs (to increase code coverage)
29 */
30 void TestAPI(void);
31
32 void TestCoverage(void);
33
34 /**
35 * Test the handling of quotes
36 **/
37 void TestQuotes(void);
38 /**
39 * Test patterns with exponential representation
40 **/
41 void TestExponential(void);
42 /**
43 * Test handling of patterns with currency symbols
44 **/
45 void TestCurrencySign(void);
46 /**
47 * Test different format patterns
48 **/
49 void TestPatterns(void);
50 /**
51 * API coverage for DigitList
52 **/
53 //void TestDigitList(void);
54
55 /**
56 * Test localized currency patterns.
57 */
58 void TestCurrency(void);
59
60 /**
61 * Test the Currency object handling, new as of ICU 2.2.
62 */
63 void TestCurrencyObject(void);
64
65 void TestCurrencyPatterns(void);
66
67 /**
68 * Do rudimentary testing of parsing.
69 */
70 void TestParse(void);
71 /**
72 * Test proper rounding by the format method.
73 */
74 void TestRounding487(void);
75
76 // New tests for alphaWorks upgrade
77 void TestExponent(void);
78
79 void TestScientific(void);
80
81 void TestScientific2(void);
82
83 void TestScientificGrouping(void);
84
85 void TestInt64(void);
86
87 void TestSurrogateSupport(void);
88
89 /**
90 * Test the functioning of the secondary grouping value.
91 */
92 void TestSecondaryGrouping(void);
93
94 void TestWhiteSpaceParsing(void);
95
96 void TestComplexCurrency(void);
97
98 void TestPad(void);
99 void TestPatterns2(void);
100
101 /**
102 * Test currency registration.
103 */
104 void TestRegCurrency(void);
105
106 void TestCurrencyNames(void);
107
108 void TestCurrencyAmount(void);
109
110 void TestCurrencyUnit(void);
111
112 void TestSymbolsWithBadLocale(void);
113
114 void TestAdoptDecimalFormatSymbols(void);
115
116 void TestPerMill(void);
117
118 void TestIllegalPatterns(void);
119
120 void TestCases(void);
121
122 void TestJB3832(void);
123
124 void TestHost(void);
125
126 void TestHostClone(void);
127
128 void TestCurrencyFormat(void);
129
130 /* Port of ICU4J rounding test. */
131 void TestRounding(void);
132
133 void TestNonpositiveMultiplier(void);
134
135 void TestNumberingSystems();
136
137
138 void TestSpaceParsing();
139 void TestMultiCurrencySign();
140 void TestCurrencyFormatForMixParsing();
141 void TestDecimalFormatCurrencyParse();
142 void TestCurrencyIsoPluralFormat();
143 void TestCurrencyParsing();
144 void TestParseCurrencyInUCurr();
145 void TestFormatAttributes();
146 void TestFieldPositionIterator();
147
148 void TestDecimal();
149 void TestCurrencyFractionDigits();
150
151 void TestExponentParse();
152
153 private:
154
155 static UBool equalValue(const Formattable& a, const Formattable& b);
156
157 void expectPositions(FieldPositionIterator& iter, int32_t *values, int32_t t upleCount,
158 const UnicodeString& str);
159
160 void expectPosition(FieldPosition& pos, int32_t id, int32_t start, int32_t l imit,
161 const UnicodeString& str);
162
163 void expect2(NumberFormat& fmt, const Formattable& n, const UnicodeString& s tr);
164
165 void expect3(NumberFormat& fmt, const Formattable& n, const UnicodeString& s tr);
166
167 void expect2(NumberFormat& fmt, const Formattable& n, const char* str) {
168 expect2(fmt, n, UnicodeString(str, ""));
169 }
170
171 void expect2(NumberFormat* fmt, const Formattable& n, const UnicodeString& s tr, UErrorCode ec);
172
173 void expect2(NumberFormat* fmt, const Formattable& n, const char* str, UErro rCode ec) {
174 expect2(fmt, n, UnicodeString(str, ""), ec);
175 }
176
177 void expect(NumberFormat& fmt, const UnicodeString& str, const Formattable& n);
178
179 void expect(NumberFormat& fmt, const char *str, const Formattable& n) {
180 expect(fmt, UnicodeString(str, ""), n);
181 }
182
183 void expect(NumberFormat& fmt, const Formattable& n,
184 const UnicodeString& exp, UBool rt=TRUE);
185
186 void expect(NumberFormat& fmt, const Formattable& n,
187 const char *exp, UBool rt=TRUE) {
188 expect(fmt, n, UnicodeString(exp, ""), rt);
189 }
190
191 void expect(NumberFormat* fmt, const Formattable& n,
192 const UnicodeString& exp, UErrorCode);
193
194 void expect(NumberFormat* fmt, const Formattable& n,
195 const char *exp, UErrorCode errorCode) {
196 expect(fmt, n, UnicodeString(exp, ""), errorCode);
197 }
198
199 void expectCurrency(NumberFormat& nf, const Locale& locale,
200 double value, const UnicodeString& string);
201
202 void expectPad(DecimalFormat& fmt, const UnicodeString& pat,
203 int32_t pos, int32_t width, UChar pad);
204
205 void expectPad(DecimalFormat& fmt, const char *pat,
206 int32_t pos, int32_t width, UChar pad) {
207 expectPad(fmt, UnicodeString(pat, ""), pos, width, pad);
208 }
209
210 void expectPad(DecimalFormat& fmt, const UnicodeString& pat,
211 int32_t pos, int32_t width, const UnicodeString& pad);
212
213 void expectPad(DecimalFormat& fmt, const char *pat,
214 int32_t pos, int32_t width, const UnicodeString& pad) {
215 expectPad(fmt, UnicodeString(pat, ""), pos, width, pad);
216 }
217
218 void expectPat(DecimalFormat& fmt, const UnicodeString& exp);
219
220 void expectPat(DecimalFormat& fmt, const char *exp) {
221 expectPat(fmt, UnicodeString(exp, ""));
222 }
223
224 void expectPad(DecimalFormat& fmt, const UnicodeString& pat,
225 int32_t pos);
226
227 void expectPad(DecimalFormat& fmt, const char *pat,
228 int32_t pos) {
229 expectPad(fmt, pat, pos, 0, (UChar)0);
230 }
231
232 void expect_rbnf(NumberFormat& fmt, const UnicodeString& str, const Formatta ble& n);
233
234 void expect_rbnf(NumberFormat& fmt, const Formattable& n,
235 const UnicodeString& exp, UBool rt=TRUE);
236
237 // internal utility routine
238 static UnicodeString& escape(UnicodeString& s);
239
240 enum { ILLEGAL = -1 };
241
242 // internal subtest used by TestRounding487
243 void roundingTest(NumberFormat& nf, double x, int32_t maxFractionDigits, con st char* expected);
244
245 // internal rounding checking for TestRounding
246 void checkRounding(DecimalFormat* df, double base, int iterations, double in crement);
247
248 double checkRound(DecimalFormat* df, double iValue, double lastParsed);
249 };
250
251 #endif /* #if !UCONFIG_NO_FORMATTING */
252
253 #endif // _NUMBERFORMATTEST_
OLDNEW
« no previous file with comments | « icu46/source/test/intltest/nptrans.cpp ('k') | icu46/source/test/intltest/numfmtst.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698