1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2014-2016, International Business Machines Corporation and *
6 * others. All Rights Reserved. *
7 *******************************************************************************
8 *
9 * File MEASFMTTEST.CPP
10 *
11 *******************************************************************************
12 */
13 #include <stdio.h>
14 #include <stdlib.h>
15
16 #include "intltest.h"
17
18 #if !UCONFIG_NO_FORMATTING
19
20 #include "charstr.h"
21 #include "cstr.h"
22 #include "cstring.h"
23 #include "measunit_impl.h"
24 #include "unicode/decimfmt.h"
25 #include "unicode/measfmt.h"
26 #include "unicode/measure.h"
27 #include "unicode/measunit.h"
28 #include "unicode/strenum.h"
29 #include "unicode/tmunit.h"
30 #include "unicode/plurrule.h"
31 #include "unicode/ustring.h"
32 #include "unicode/reldatefmt.h"
33 #include "unicode/rbnf.h"
34
35 struct ExpectedResult {
36 const Measure *measures;
37 int32_t count;
38 const char *expected;
39 };
40
41 class MeasureFormatTest : public IntlTest {
42 public:
MeasureFormatTest()43 MeasureFormatTest() {
44 }
45
46 void runIndexedTest(int32_t index, UBool exec, const char*& name, char* par = nullptr) override;
47
48 private:
49 void TestBasic();
50 void TestCompatible53();
51 void TestCompatible54();
52 void TestCompatible55();
53 void TestCompatible56();
54 void TestCompatible57();
55 void TestCompatible58();
56 void TestCompatible59();
57 void TestCompatible63();
58 void TestCompatible64();
59 void TestCompatible65();
60 void TestCompatible68();
61 void TestCompatible69();
62 void TestCompatible70();
63 void TestCompatible72();
64 void TestCompatible73();
65 void TestCompatible74();
66 void TestGetAvailable();
67 void TestExamplesInDocs();
68 void TestFormatPeriodEn();
69 void Test10219FractionalPlurals();
70 void TestGreek();
71 void TestFormatSingleArg();
72 void TestFormatMeasuresZeroArg();
73 void TestSimplePer();
74 void TestNumeratorPlurals();
75 void TestMultiples();
76 void TestManyLocaleDurations();
77 void TestGram();
78 void TestCurrencies();
79 void TestDisplayNames();
80 void TestFieldPosition();
81 void TestFieldPositionMultiple();
82 void TestBadArg();
83 void TestEquality();
84 void TestGroupingSeparator();
85 void TestDoubleZero();
86 void TestUnitPerUnitResolution();
87 void TestIndividualPluralFallback();
88 void Test20332_PersonUnits();
89 void TestNumericTime();
90 void TestNumericTimeSomeSpecialFormats();
91 void TestIdentifiers();
92 void TestInvalidIdentifiers();
93 void TestIdentifierDetails();
94 void TestPrefixes();
95 void TestParseBuiltIns();
96 void TestParseToBuiltIn();
97 void TestKilogramIdentifier();
98 void TestCompoundUnitOperations();
99 void TestDimensionlessBehaviour();
100 void Test21060_AddressSanitizerProblem();
101 void Test21223_FrenchDuration();
102 void TestInternalMeasureUnitImpl();
103 void TestMeasureEquality();
104
105 void verifyFormat(
106 const char *description,
107 const MeasureFormat &fmt,
108 const Measure *measures,
109 int32_t measureCount,
110 const char *expected);
111 void verifyFormatWithPrefix(
112 const char *description,
113 const MeasureFormat &fmt,
114 const UnicodeString &prefix,
115 const Measure *measures,
116 int32_t measureCount,
117 const char *expected);
118 void verifyFormat(
119 const char *description,
120 const MeasureFormat &fmt,
121 const ExpectedResult *expectedResults,
122 int32_t count);
123 void helperTestSimplePer(
124 const Locale &locale,
125 UMeasureFormatWidth width,
126 double value,
127 const MeasureUnit &unit,
128 const MeasureUnit &perUnit,
129 const char *expected);
130 void helperTestSimplePer(
131 const Locale &locale,
132 UMeasureFormatWidth width,
133 double value,
134 const MeasureUnit &unit,
135 const MeasureUnit &perUnit,
136 const char *expected,
137 int32_t field,
138 int32_t expected_start,
139 int32_t expected_end);
140 void helperTestMultiples(
141 const Locale &locale,
142 UMeasureFormatWidth width,
143 const char *expected);
144 void helperTestManyLocaleDurations(
145 const char *localeID,
146 UMeasureFormatWidth width,
147 const Measure *measures,
148 int32_t measureCount,
149 const char *expected);
150 void helperTestDisplayName(
151 const MeasureUnit *unit,
152 const char *localeID,
153 UMeasureFormatWidth width,
154 const char *expected);
155 void verifyFieldPosition(
156 const char *description,
157 const MeasureFormat &fmt,
158 const UnicodeString &prefix,
159 const Measure *measures,
160 int32_t measureCount,
161 NumberFormat::EAlignmentFields field,
162 int32_t start,
163 int32_t end);
164 void verifySingleUnit(
165 const MeasureUnit& unit,
166 UMeasurePrefix unitPrefix,
167 int8_t power,
168 const char* identifier);
169 void verifyCompoundUnit(
170 const MeasureUnit& unit,
171 const char* identifier,
172 const char** subIdentifiers,
173 int32_t subIdentifierCount);
174 void verifyMixedUnit(
175 const MeasureUnit& unit,
176 const char* identifier,
177 const char** subIdentifiers,
178 int32_t subIdentifierCount);
179 };
180
runIndexedTest(int32_t index,UBool exec,const char * & name,char *)181 void MeasureFormatTest::runIndexedTest(
182 int32_t index, UBool exec, const char *&name, char *) {
183 if (exec) {
184 logln("TestSuite MeasureFormatTest: ");
185 }
186 TESTCASE_AUTO_BEGIN;
187 TESTCASE_AUTO(TestBasic);
188 TESTCASE_AUTO(TestCompatible53);
189 TESTCASE_AUTO(TestCompatible54);
190 TESTCASE_AUTO(TestCompatible55);
191 TESTCASE_AUTO(TestCompatible56);
192 TESTCASE_AUTO(TestCompatible57);
193 TESTCASE_AUTO(TestCompatible58);
194 TESTCASE_AUTO(TestCompatible59);
195 TESTCASE_AUTO(TestCompatible63);
196 TESTCASE_AUTO(TestCompatible64);
197 TESTCASE_AUTO(TestCompatible65);
198 TESTCASE_AUTO(TestCompatible68);
199 TESTCASE_AUTO(TestCompatible69);
200 TESTCASE_AUTO(TestCompatible70);
201 TESTCASE_AUTO(TestCompatible72);
202 TESTCASE_AUTO(TestCompatible73);
203 TESTCASE_AUTO(TestCompatible74);
204 TESTCASE_AUTO(TestGetAvailable);
205 TESTCASE_AUTO(TestExamplesInDocs);
206 TESTCASE_AUTO(TestFormatPeriodEn);
207 TESTCASE_AUTO(Test10219FractionalPlurals);
208 TESTCASE_AUTO(TestGreek);
209 TESTCASE_AUTO(TestFormatSingleArg);
210 TESTCASE_AUTO(TestFormatMeasuresZeroArg);
211 TESTCASE_AUTO(TestSimplePer);
212 TESTCASE_AUTO(TestNumeratorPlurals);
213 TESTCASE_AUTO(TestMultiples);
214 TESTCASE_AUTO(TestManyLocaleDurations);
215 TESTCASE_AUTO(TestGram);
216 TESTCASE_AUTO(TestCurrencies);
217 TESTCASE_AUTO(TestDisplayNames);
218 TESTCASE_AUTO(TestFieldPosition);
219 TESTCASE_AUTO(TestFieldPositionMultiple);
220 TESTCASE_AUTO(TestBadArg);
221 TESTCASE_AUTO(TestEquality);
222 TESTCASE_AUTO(TestGroupingSeparator);
223 TESTCASE_AUTO(TestDoubleZero);
224 TESTCASE_AUTO(TestUnitPerUnitResolution);
225 TESTCASE_AUTO(TestIndividualPluralFallback);
226 TESTCASE_AUTO(Test20332_PersonUnits);
227 TESTCASE_AUTO(TestNumericTime);
228 TESTCASE_AUTO(TestNumericTimeSomeSpecialFormats);
229 TESTCASE_AUTO(TestIdentifiers);
230 TESTCASE_AUTO(TestInvalidIdentifiers);
231 TESTCASE_AUTO(TestIdentifierDetails);
232 TESTCASE_AUTO(TestPrefixes);
233 TESTCASE_AUTO(TestParseBuiltIns);
234 TESTCASE_AUTO(TestParseToBuiltIn);
235 TESTCASE_AUTO(TestKilogramIdentifier);
236 TESTCASE_AUTO(TestCompoundUnitOperations);
237 TESTCASE_AUTO(TestDimensionlessBehaviour);
238 TESTCASE_AUTO(Test21060_AddressSanitizerProblem);
239 TESTCASE_AUTO(Test21223_FrenchDuration);
240 TESTCASE_AUTO(TestInternalMeasureUnitImpl);
241 TESTCASE_AUTO(TestMeasureEquality);
242 TESTCASE_AUTO_END;
243 }
244
TestCompatible53()245 void MeasureFormatTest::TestCompatible53() {
246 UErrorCode status = U_ZERO_ERROR;
247 LocalPointer<MeasureUnit> measureUnit;
248 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
249 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
250 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
251 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
252 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
253 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
254 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
255 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
256 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
257 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
258 measureUnit.adoptInstead(MeasureUnit::createDay(status));
259 measureUnit.adoptInstead(MeasureUnit::createHour(status));
260 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
261 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
262 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
263 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
264 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
265 measureUnit.adoptInstead(MeasureUnit::createYear(status));
266 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
267 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
268 measureUnit.adoptInstead(MeasureUnit::createInch(status));
269 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
270 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
271 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
272 measureUnit.adoptInstead(MeasureUnit::createMile(status));
273 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
274 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
275 measureUnit.adoptInstead(MeasureUnit::createYard(status));
276 measureUnit.adoptInstead(MeasureUnit::createGram(status));
277 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
278 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
279 measureUnit.adoptInstead(MeasureUnit::createPound(status));
280 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
281 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
282 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
283 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
284 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
285 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
286 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
287 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
288 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
289 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
290 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
291 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
292 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
293 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
294 assertSuccess("", status);
295 }
296
TestCompatible54()297 void MeasureFormatTest::TestCompatible54() {
298 UErrorCode status = U_ZERO_ERROR;
299 LocalPointer<MeasureUnit> measureUnit;
300 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
301 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
302 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
303 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
304 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
305 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
306 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
307 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
308 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
309 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
310 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
311 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
312 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
313 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
314 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
315 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
316 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
317 measureUnit.adoptInstead(MeasureUnit::createBit(status));
318 measureUnit.adoptInstead(MeasureUnit::createByte(status));
319 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
320 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
321 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
322 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
323 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
324 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
325 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
326 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
327 measureUnit.adoptInstead(MeasureUnit::createDay(status));
328 measureUnit.adoptInstead(MeasureUnit::createHour(status));
329 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
330 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
331 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
332 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
333 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
334 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
335 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
336 measureUnit.adoptInstead(MeasureUnit::createYear(status));
337 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
338 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
339 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
340 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
341 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
342 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
343 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
344 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
345 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
346 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
347 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
348 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
349 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
350 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
351 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
352 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
353 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
354 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
355 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
356 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
357 measureUnit.adoptInstead(MeasureUnit::createInch(status));
358 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
359 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
360 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
361 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
362 measureUnit.adoptInstead(MeasureUnit::createMile(status));
363 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
364 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
365 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
366 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
367 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
368 measureUnit.adoptInstead(MeasureUnit::createYard(status));
369 measureUnit.adoptInstead(MeasureUnit::createLux(status));
370 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
371 measureUnit.adoptInstead(MeasureUnit::createGram(status));
372 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
373 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
374 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
375 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
376 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
377 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
378 measureUnit.adoptInstead(MeasureUnit::createPound(status));
379 measureUnit.adoptInstead(MeasureUnit::createStone(status));
380 measureUnit.adoptInstead(MeasureUnit::createTon(status));
381 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
382 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
383 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
384 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
385 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
386 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
387 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
388 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
389 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
390 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
391 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
392 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
393 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
394 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
395 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
396 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
397 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
398 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
399 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
400 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
401 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
402 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
403 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
404 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
405 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
406 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
407 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
408 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
409 measureUnit.adoptInstead(MeasureUnit::createCup(status));
410 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
411 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
412 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
413 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
414 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
415 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
416 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
417 measureUnit.adoptInstead(MeasureUnit::createPint(status));
418 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
419 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
420 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
421 assertSuccess("", status);
422 }
423
TestCompatible55()424 void MeasureFormatTest::TestCompatible55() {
425 UErrorCode status = U_ZERO_ERROR;
426 LocalPointer<MeasureUnit> measureUnit;
427 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
428 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
429 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
430 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
431 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
432 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
433 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
434 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
435 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
436 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
437 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
438 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
439 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
440 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
441 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
442 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
443 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
444 measureUnit.adoptInstead(MeasureUnit::createBit(status));
445 measureUnit.adoptInstead(MeasureUnit::createByte(status));
446 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
447 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
448 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
449 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
450 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
451 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
452 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
453 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
454 measureUnit.adoptInstead(MeasureUnit::createDay(status));
455 measureUnit.adoptInstead(MeasureUnit::createHour(status));
456 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
457 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
458 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
459 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
460 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
461 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
462 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
463 measureUnit.adoptInstead(MeasureUnit::createYear(status));
464 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
465 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
466 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
467 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
468 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
469 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
470 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
471 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
472 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
473 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
474 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
475 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
476 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
477 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
478 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
479 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
480 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
481 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
482 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
483 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
484 measureUnit.adoptInstead(MeasureUnit::createInch(status));
485 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
486 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
487 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
488 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
489 measureUnit.adoptInstead(MeasureUnit::createMile(status));
490 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
491 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
492 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
493 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
494 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
495 measureUnit.adoptInstead(MeasureUnit::createYard(status));
496 measureUnit.adoptInstead(MeasureUnit::createLux(status));
497 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
498 measureUnit.adoptInstead(MeasureUnit::createGram(status));
499 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
500 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
501 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
502 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
503 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
504 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
505 measureUnit.adoptInstead(MeasureUnit::createPound(status));
506 measureUnit.adoptInstead(MeasureUnit::createStone(status));
507 measureUnit.adoptInstead(MeasureUnit::createTon(status));
508 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
509 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
510 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
511 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
512 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
513 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
514 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
515 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
516 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
517 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
518 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
519 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
520 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
521 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
522 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
523 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
524 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
525 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
526 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
527 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
528 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
529 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
530 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
531 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
532 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
533 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
534 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
535 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
536 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
537 measureUnit.adoptInstead(MeasureUnit::createCup(status));
538 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
539 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
540 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
541 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
542 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
543 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
544 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
545 measureUnit.adoptInstead(MeasureUnit::createPint(status));
546 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
547 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
548 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
549 assertSuccess("", status);
550 }
551
TestCompatible56()552 void MeasureFormatTest::TestCompatible56() {
553 UErrorCode status = U_ZERO_ERROR;
554 LocalPointer<MeasureUnit> measureUnit;
555 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
556 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
557 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
558 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
559 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
560 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
561 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
562 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
563 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
564 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
565 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
566 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
567 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
568 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
569 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
570 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
571 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
572 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
573 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
574 measureUnit.adoptInstead(MeasureUnit::createBit(status));
575 measureUnit.adoptInstead(MeasureUnit::createByte(status));
576 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
577 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
578 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
579 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
580 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
581 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
582 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
583 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
584 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
585 measureUnit.adoptInstead(MeasureUnit::createDay(status));
586 measureUnit.adoptInstead(MeasureUnit::createHour(status));
587 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
588 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
589 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
590 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
591 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
592 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
593 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
594 measureUnit.adoptInstead(MeasureUnit::createYear(status));
595 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
596 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
597 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
598 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
599 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
600 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
601 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
602 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
603 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
604 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
605 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
606 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
607 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
608 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
609 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
610 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
611 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
612 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
613 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
614 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
615 measureUnit.adoptInstead(MeasureUnit::createInch(status));
616 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
617 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
618 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
619 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
620 measureUnit.adoptInstead(MeasureUnit::createMile(status));
621 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
622 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
623 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
624 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
625 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
626 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
627 measureUnit.adoptInstead(MeasureUnit::createYard(status));
628 measureUnit.adoptInstead(MeasureUnit::createLux(status));
629 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
630 measureUnit.adoptInstead(MeasureUnit::createGram(status));
631 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
632 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
633 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
634 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
635 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
636 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
637 measureUnit.adoptInstead(MeasureUnit::createPound(status));
638 measureUnit.adoptInstead(MeasureUnit::createStone(status));
639 measureUnit.adoptInstead(MeasureUnit::createTon(status));
640 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
641 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
642 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
643 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
644 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
645 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
646 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
647 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
648 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
649 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
650 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
651 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
652 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
653 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
654 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
655 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
656 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
657 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
658 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
659 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
660 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
661 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
662 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
663 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
664 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
665 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
666 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
667 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
668 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
669 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
670 measureUnit.adoptInstead(MeasureUnit::createCup(status));
671 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
672 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
673 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
674 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
675 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
676 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
677 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
678 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
679 measureUnit.adoptInstead(MeasureUnit::createPint(status));
680 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
681 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
682 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
683 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
684 assertSuccess("", status);
685 }
686
TestCompatible57()687 void MeasureFormatTest::TestCompatible57() {
688 UErrorCode status = U_ZERO_ERROR;
689 LocalPointer<MeasureUnit> measureUnit;
690 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
691 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
692 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
693 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
694 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
695 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
696 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
697 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
698 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
699 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
700 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
701 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
702 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
703 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
704 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
705 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
706 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
707 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
708 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
709 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
710 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
711 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
712 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
713 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
714 measureUnit.adoptInstead(MeasureUnit::createBit(status));
715 measureUnit.adoptInstead(MeasureUnit::createByte(status));
716 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
717 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
718 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
719 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
720 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
721 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
722 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
723 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
724 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
725 measureUnit.adoptInstead(MeasureUnit::createDay(status));
726 measureUnit.adoptInstead(MeasureUnit::createHour(status));
727 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
728 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
729 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
730 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
731 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
732 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
733 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
734 measureUnit.adoptInstead(MeasureUnit::createYear(status));
735 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
736 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
737 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
738 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
739 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
740 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
741 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
742 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
743 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
744 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
745 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
746 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
747 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
748 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
749 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
750 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
751 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
752 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
753 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
754 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
755 measureUnit.adoptInstead(MeasureUnit::createInch(status));
756 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
757 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
758 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
759 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
760 measureUnit.adoptInstead(MeasureUnit::createMile(status));
761 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
762 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
763 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
764 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
765 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
766 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
767 measureUnit.adoptInstead(MeasureUnit::createYard(status));
768 measureUnit.adoptInstead(MeasureUnit::createLux(status));
769 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
770 measureUnit.adoptInstead(MeasureUnit::createGram(status));
771 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
772 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
773 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
774 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
775 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
776 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
777 measureUnit.adoptInstead(MeasureUnit::createPound(status));
778 measureUnit.adoptInstead(MeasureUnit::createStone(status));
779 measureUnit.adoptInstead(MeasureUnit::createTon(status));
780 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
781 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
782 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
783 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
784 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
785 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
786 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
787 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
788 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
789 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
790 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
791 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
792 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
793 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
794 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
795 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
796 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
797 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
798 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
799 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
800 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
801 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
802 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
803 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
804 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
805 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
806 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
807 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
808 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
809 measureUnit.adoptInstead(MeasureUnit::createCup(status));
810 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
811 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
812 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
813 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
814 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
815 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
816 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
817 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
818 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
819 measureUnit.adoptInstead(MeasureUnit::createPint(status));
820 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
821 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
822 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
823 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
824 assertSuccess("", status);
825 }
826
TestCompatible58()827 void MeasureFormatTest::TestCompatible58() {
828 UErrorCode status = U_ZERO_ERROR;
829 LocalPointer<MeasureUnit> measureUnit;
830 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
831 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
832 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
833 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
834 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
835 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
836 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
837 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
838 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
839 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
840 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
841 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
842 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
843 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
844 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
845 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
846 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
847 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
848 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
849 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
850 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
851 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
852 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
853 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
854 // measureUnit.adoptInstead(MeasureUnit::createEast(status));
855 // measureUnit.adoptInstead(MeasureUnit::createNorth(status));
856 // measureUnit.adoptInstead(MeasureUnit::createSouth(status));
857 // measureUnit.adoptInstead(MeasureUnit::createWest(status));
858 measureUnit.adoptInstead(MeasureUnit::createBit(status));
859 measureUnit.adoptInstead(MeasureUnit::createByte(status));
860 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
861 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
862 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
863 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
864 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
865 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
866 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
867 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
868 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
869 measureUnit.adoptInstead(MeasureUnit::createDay(status));
870 measureUnit.adoptInstead(MeasureUnit::createHour(status));
871 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
872 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
873 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
874 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
875 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
876 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
877 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
878 measureUnit.adoptInstead(MeasureUnit::createYear(status));
879 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
880 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
881 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
882 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
883 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
884 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
885 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
886 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
887 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
888 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
889 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
890 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
891 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
892 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
893 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
894 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
895 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
896 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
897 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
898 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
899 measureUnit.adoptInstead(MeasureUnit::createInch(status));
900 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
901 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
902 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
903 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
904 measureUnit.adoptInstead(MeasureUnit::createMile(status));
905 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
906 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
907 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
908 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
909 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
910 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
911 measureUnit.adoptInstead(MeasureUnit::createYard(status));
912 measureUnit.adoptInstead(MeasureUnit::createLux(status));
913 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
914 measureUnit.adoptInstead(MeasureUnit::createGram(status));
915 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
916 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
917 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
918 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
919 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
920 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
921 measureUnit.adoptInstead(MeasureUnit::createPound(status));
922 measureUnit.adoptInstead(MeasureUnit::createStone(status));
923 measureUnit.adoptInstead(MeasureUnit::createTon(status));
924 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
925 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
926 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
927 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
928 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
929 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
930 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
931 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
932 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
933 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
934 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
935 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
936 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
937 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
938 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
939 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
940 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
941 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
942 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
943 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
944 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
945 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
946 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
947 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
948 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
949 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
950 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
951 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
952 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
953 measureUnit.adoptInstead(MeasureUnit::createCup(status));
954 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
955 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
956 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
957 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
958 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
959 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
960 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
961 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
962 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
963 measureUnit.adoptInstead(MeasureUnit::createPint(status));
964 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
965 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
966 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
967 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
968 assertSuccess("", status);
969 }
970
TestCompatible59()971 void MeasureFormatTest::TestCompatible59() {
972 UErrorCode status = U_ZERO_ERROR;
973 LocalPointer<MeasureUnit> measureUnit;
974 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
975 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
976 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
977 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
978 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
979 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
980 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
981 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
982 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
983 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
984 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
985 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
986 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
987 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
988 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
989 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
990 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
991 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
992 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
993 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
994 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
995 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
996 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
997 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
998 measureUnit.adoptInstead(MeasureUnit::createBit(status));
999 measureUnit.adoptInstead(MeasureUnit::createByte(status));
1000 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
1001 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
1002 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
1003 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
1004 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
1005 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
1006 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
1007 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
1008 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
1009 measureUnit.adoptInstead(MeasureUnit::createDay(status));
1010 measureUnit.adoptInstead(MeasureUnit::createHour(status));
1011 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
1012 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
1013 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
1014 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
1015 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
1016 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
1017 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
1018 measureUnit.adoptInstead(MeasureUnit::createYear(status));
1019 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
1020 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
1021 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
1022 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
1023 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
1024 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
1025 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
1026 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
1027 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
1028 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
1029 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
1030 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
1031 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
1032 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
1033 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
1034 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
1035 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
1036 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
1037 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
1038 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
1039 measureUnit.adoptInstead(MeasureUnit::createInch(status));
1040 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
1041 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
1042 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
1043 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
1044 measureUnit.adoptInstead(MeasureUnit::createMile(status));
1045 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
1046 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
1047 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
1048 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
1049 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
1050 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
1051 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
1052 measureUnit.adoptInstead(MeasureUnit::createYard(status));
1053 measureUnit.adoptInstead(MeasureUnit::createLux(status));
1054 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
1055 measureUnit.adoptInstead(MeasureUnit::createGram(status));
1056 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
1057 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
1058 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
1059 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
1060 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
1061 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
1062 measureUnit.adoptInstead(MeasureUnit::createPound(status));
1063 measureUnit.adoptInstead(MeasureUnit::createStone(status));
1064 measureUnit.adoptInstead(MeasureUnit::createTon(status));
1065 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
1066 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
1067 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
1068 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
1069 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
1070 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
1071 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
1072 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
1073 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
1074 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
1075 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
1076 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
1077 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
1078 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
1079 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
1080 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
1081 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
1082 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
1083 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
1084 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
1085 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
1086 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
1087 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
1088 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
1089 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
1090 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
1091 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
1092 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
1093 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
1094 measureUnit.adoptInstead(MeasureUnit::createCup(status));
1095 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
1096 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
1097 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
1098 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
1099 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
1100 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
1101 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
1102 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
1103 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
1104 measureUnit.adoptInstead(MeasureUnit::createPint(status));
1105 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
1106 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
1107 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
1108 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
1109 assertSuccess("", status);
1110 }
1111
1112 // Note that TestCompatible60(), TestCompatible61(), TestCompatible62()
1113 // would be the same as TestCompatible59(), no need to add them.
1114
TestCompatible63()1115 void MeasureFormatTest::TestCompatible63() {
1116 UErrorCode status = U_ZERO_ERROR;
1117 LocalPointer<MeasureUnit> measureUnit;
1118 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
1119 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
1120 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
1121 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
1122 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
1123 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
1124 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
1125 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
1126 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
1127 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
1128 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
1129 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
1130 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
1131 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
1132 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
1133 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
1134 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
1135 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
1136 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
1137 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
1138 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
1139 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
1140 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
1141 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
1142 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
1143 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
1144 measureUnit.adoptInstead(MeasureUnit::createBit(status));
1145 measureUnit.adoptInstead(MeasureUnit::createByte(status));
1146 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
1147 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
1148 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
1149 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
1150 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
1151 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
1152 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
1153 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
1154 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
1155 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
1156 measureUnit.adoptInstead(MeasureUnit::createDay(status));
1157 measureUnit.adoptInstead(MeasureUnit::createHour(status));
1158 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
1159 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
1160 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
1161 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
1162 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
1163 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
1164 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
1165 measureUnit.adoptInstead(MeasureUnit::createYear(status));
1166 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
1167 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
1168 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
1169 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
1170 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
1171 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
1172 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
1173 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
1174 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
1175 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
1176 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
1177 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
1178 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
1179 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
1180 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
1181 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
1182 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
1183 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
1184 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
1185 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
1186 measureUnit.adoptInstead(MeasureUnit::createInch(status));
1187 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
1188 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
1189 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
1190 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
1191 measureUnit.adoptInstead(MeasureUnit::createMile(status));
1192 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
1193 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
1194 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
1195 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
1196 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
1197 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
1198 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
1199 measureUnit.adoptInstead(MeasureUnit::createYard(status));
1200 measureUnit.adoptInstead(MeasureUnit::createLux(status));
1201 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
1202 measureUnit.adoptInstead(MeasureUnit::createGram(status));
1203 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
1204 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
1205 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
1206 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
1207 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
1208 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
1209 measureUnit.adoptInstead(MeasureUnit::createPound(status));
1210 measureUnit.adoptInstead(MeasureUnit::createStone(status));
1211 measureUnit.adoptInstead(MeasureUnit::createTon(status));
1212 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
1213 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
1214 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
1215 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
1216 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
1217 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
1218 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
1219 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
1220 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
1221 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
1222 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
1223 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
1224 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
1225 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
1226 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
1227 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
1228 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
1229 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
1230 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
1231 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
1232 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
1233 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
1234 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
1235 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
1236 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
1237 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
1238 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
1239 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
1240 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
1241 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
1242 measureUnit.adoptInstead(MeasureUnit::createCup(status));
1243 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
1244 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
1245 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
1246 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
1247 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
1248 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
1249 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
1250 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
1251 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
1252 measureUnit.adoptInstead(MeasureUnit::createPint(status));
1253 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
1254 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
1255 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
1256 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
1257 assertSuccess("", status);
1258 }
1259
TestCompatible64()1260 void MeasureFormatTest::TestCompatible64() {
1261 UErrorCode status = U_ZERO_ERROR;
1262 LocalPointer<MeasureUnit> measureUnit;
1263 MeasureUnit measureUnitValue;
1264 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
1265 measureUnitValue = MeasureUnit::getGForce();
1266 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
1267 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
1268 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
1269 measureUnitValue = MeasureUnit::getArcMinute();
1270 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
1271 measureUnitValue = MeasureUnit::getArcSecond();
1272 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
1273 measureUnitValue = MeasureUnit::getDegree();
1274 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
1275 measureUnitValue = MeasureUnit::getRadian();
1276 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
1277 measureUnitValue = MeasureUnit::getRevolutionAngle();
1278 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
1279 measureUnitValue = MeasureUnit::getAcre();
1280 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
1281 measureUnitValue = MeasureUnit::getDunam();
1282 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
1283 measureUnitValue = MeasureUnit::getHectare();
1284 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
1285 measureUnitValue = MeasureUnit::getSquareCentimeter();
1286 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
1287 measureUnitValue = MeasureUnit::getSquareFoot();
1288 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
1289 measureUnitValue = MeasureUnit::getSquareInch();
1290 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
1291 measureUnitValue = MeasureUnit::getSquareKilometer();
1292 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
1293 measureUnitValue = MeasureUnit::getSquareMeter();
1294 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
1295 measureUnitValue = MeasureUnit::getSquareMile();
1296 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
1297 measureUnitValue = MeasureUnit::getSquareYard();
1298 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
1299 measureUnitValue = MeasureUnit::getKarat();
1300 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
1301 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
1302 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
1303 measureUnitValue = MeasureUnit::getMillimolePerLiter();
1304 measureUnit.adoptInstead(MeasureUnit::createMole(status));
1305 measureUnitValue = MeasureUnit::getMole();
1306 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
1307 measureUnitValue = MeasureUnit::getPartPerMillion();
1308 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
1309 measureUnitValue = MeasureUnit::getPercent();
1310 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
1311 measureUnitValue = MeasureUnit::getPermille();
1312 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
1313 measureUnitValue = MeasureUnit::getPermyriad();
1314 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
1315 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
1316 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
1317 measureUnitValue = MeasureUnit::getLiterPerKilometer();
1318 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
1319 measureUnitValue = MeasureUnit::getMilePerGallon();
1320 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
1321 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
1322 measureUnit.adoptInstead(MeasureUnit::createBit(status));
1323 measureUnitValue = MeasureUnit::getBit();
1324 measureUnit.adoptInstead(MeasureUnit::createByte(status));
1325 measureUnitValue = MeasureUnit::getByte();
1326 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
1327 measureUnitValue = MeasureUnit::getGigabit();
1328 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
1329 measureUnitValue = MeasureUnit::getGigabyte();
1330 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
1331 measureUnitValue = MeasureUnit::getKilobit();
1332 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
1333 measureUnitValue = MeasureUnit::getKilobyte();
1334 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
1335 measureUnitValue = MeasureUnit::getMegabit();
1336 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
1337 measureUnitValue = MeasureUnit::getMegabyte();
1338 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
1339 measureUnitValue = MeasureUnit::getPetabyte();
1340 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
1341 measureUnitValue = MeasureUnit::getTerabit();
1342 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
1343 measureUnitValue = MeasureUnit::getTerabyte();
1344 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
1345 measureUnitValue = MeasureUnit::getCentury();
1346 measureUnit.adoptInstead(MeasureUnit::createDay(status));
1347 measureUnitValue = MeasureUnit::getDay();
1348 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
1349 measureUnitValue = MeasureUnit::getDayPerson();
1350 measureUnit.adoptInstead(MeasureUnit::createHour(status));
1351 measureUnitValue = MeasureUnit::getHour();
1352 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
1353 measureUnitValue = MeasureUnit::getMicrosecond();
1354 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
1355 measureUnitValue = MeasureUnit::getMillisecond();
1356 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
1357 measureUnitValue = MeasureUnit::getMinute();
1358 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
1359 measureUnitValue = MeasureUnit::getMonth();
1360 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
1361 measureUnitValue = MeasureUnit::getMonthPerson();
1362 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
1363 measureUnitValue = MeasureUnit::getNanosecond();
1364 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
1365 measureUnitValue = MeasureUnit::getSecond();
1366 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
1367 measureUnitValue = MeasureUnit::getWeek();
1368 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
1369 measureUnitValue = MeasureUnit::getWeekPerson();
1370 measureUnit.adoptInstead(MeasureUnit::createYear(status));
1371 measureUnitValue = MeasureUnit::getYear();
1372 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
1373 measureUnitValue = MeasureUnit::getYearPerson();
1374 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
1375 measureUnitValue = MeasureUnit::getAmpere();
1376 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
1377 measureUnitValue = MeasureUnit::getMilliampere();
1378 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
1379 measureUnitValue = MeasureUnit::getOhm();
1380 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
1381 measureUnitValue = MeasureUnit::getVolt();
1382 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
1383 measureUnitValue = MeasureUnit::getBritishThermalUnit();
1384 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
1385 measureUnitValue = MeasureUnit::getCalorie();
1386 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
1387 measureUnitValue = MeasureUnit::getElectronvolt();
1388 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
1389 measureUnitValue = MeasureUnit::getFoodcalorie();
1390 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
1391 measureUnitValue = MeasureUnit::getJoule();
1392 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
1393 measureUnitValue = MeasureUnit::getKilocalorie();
1394 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
1395 measureUnitValue = MeasureUnit::getKilojoule();
1396 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
1397 measureUnitValue = MeasureUnit::getKilowattHour();
1398 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
1399 measureUnitValue = MeasureUnit::getNewton();
1400 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
1401 measureUnitValue = MeasureUnit::getPoundForce();
1402 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
1403 measureUnitValue = MeasureUnit::getGigahertz();
1404 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
1405 measureUnitValue = MeasureUnit::getHertz();
1406 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
1407 measureUnitValue = MeasureUnit::getKilohertz();
1408 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
1409 measureUnitValue = MeasureUnit::getMegahertz();
1410 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
1411 measureUnitValue = MeasureUnit::getAstronomicalUnit();
1412 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
1413 measureUnitValue = MeasureUnit::getCentimeter();
1414 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
1415 measureUnitValue = MeasureUnit::getDecimeter();
1416 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
1417 measureUnitValue = MeasureUnit::getFathom();
1418 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
1419 measureUnitValue = MeasureUnit::getFoot();
1420 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
1421 measureUnitValue = MeasureUnit::getFurlong();
1422 measureUnit.adoptInstead(MeasureUnit::createInch(status));
1423 measureUnitValue = MeasureUnit::getInch();
1424 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
1425 measureUnitValue = MeasureUnit::getKilometer();
1426 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
1427 measureUnitValue = MeasureUnit::getLightYear();
1428 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
1429 measureUnitValue = MeasureUnit::getMeter();
1430 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
1431 measureUnitValue = MeasureUnit::getMicrometer();
1432 measureUnit.adoptInstead(MeasureUnit::createMile(status));
1433 measureUnitValue = MeasureUnit::getMile();
1434 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
1435 measureUnitValue = MeasureUnit::getMileScandinavian();
1436 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
1437 measureUnitValue = MeasureUnit::getMillimeter();
1438 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
1439 measureUnitValue = MeasureUnit::getNanometer();
1440 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
1441 measureUnitValue = MeasureUnit::getNauticalMile();
1442 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
1443 measureUnitValue = MeasureUnit::getParsec();
1444 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
1445 measureUnitValue = MeasureUnit::getPicometer();
1446 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
1447 measureUnitValue = MeasureUnit::getPoint();
1448 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
1449 measureUnitValue = MeasureUnit::getSolarRadius();
1450 measureUnit.adoptInstead(MeasureUnit::createYard(status));
1451 measureUnitValue = MeasureUnit::getYard();
1452 measureUnit.adoptInstead(MeasureUnit::createLux(status));
1453 measureUnitValue = MeasureUnit::getLux();
1454 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
1455 measureUnitValue = MeasureUnit::getSolarLuminosity();
1456 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
1457 measureUnitValue = MeasureUnit::getCarat();
1458 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
1459 measureUnitValue = MeasureUnit::getDalton();
1460 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
1461 measureUnitValue = MeasureUnit::getEarthMass();
1462 measureUnit.adoptInstead(MeasureUnit::createGram(status));
1463 measureUnitValue = MeasureUnit::getGram();
1464 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
1465 measureUnitValue = MeasureUnit::getKilogram();
1466 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
1467 measureUnitValue = MeasureUnit::getMetricTon();
1468 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
1469 measureUnitValue = MeasureUnit::getMicrogram();
1470 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
1471 measureUnitValue = MeasureUnit::getMilligram();
1472 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
1473 measureUnitValue = MeasureUnit::getOunce();
1474 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
1475 measureUnitValue = MeasureUnit::getOunceTroy();
1476 measureUnit.adoptInstead(MeasureUnit::createPound(status));
1477 measureUnitValue = MeasureUnit::getPound();
1478 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
1479 measureUnitValue = MeasureUnit::getSolarMass();
1480 measureUnit.adoptInstead(MeasureUnit::createStone(status));
1481 measureUnitValue = MeasureUnit::getStone();
1482 measureUnit.adoptInstead(MeasureUnit::createTon(status));
1483 measureUnitValue = MeasureUnit::getTon();
1484 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
1485 measureUnitValue = MeasureUnit::getGigawatt();
1486 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
1487 measureUnitValue = MeasureUnit::getHorsepower();
1488 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
1489 measureUnitValue = MeasureUnit::getKilowatt();
1490 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
1491 measureUnitValue = MeasureUnit::getMegawatt();
1492 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
1493 measureUnitValue = MeasureUnit::getMilliwatt();
1494 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
1495 measureUnitValue = MeasureUnit::getWatt();
1496 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
1497 measureUnitValue = MeasureUnit::getAtmosphere();
1498 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
1499 measureUnitValue = MeasureUnit::getHectopascal();
1500 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
1501 measureUnitValue = MeasureUnit::getInchHg();
1502 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
1503 measureUnitValue = MeasureUnit::getKilopascal();
1504 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
1505 measureUnitValue = MeasureUnit::getMegapascal();
1506 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
1507 measureUnitValue = MeasureUnit::getMillibar();
1508 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
1509 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
1510 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
1511 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
1512 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
1513 measureUnitValue = MeasureUnit::getKilometerPerHour();
1514 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
1515 measureUnitValue = MeasureUnit::getKnot();
1516 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
1517 measureUnitValue = MeasureUnit::getMeterPerSecond();
1518 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
1519 measureUnitValue = MeasureUnit::getMilePerHour();
1520 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
1521 measureUnitValue = MeasureUnit::getCelsius();
1522 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
1523 measureUnitValue = MeasureUnit::getFahrenheit();
1524 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
1525 measureUnitValue = MeasureUnit::getGenericTemperature();
1526 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
1527 measureUnitValue = MeasureUnit::getKelvin();
1528 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
1529 measureUnitValue = MeasureUnit::getNewtonMeter();
1530 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
1531 measureUnitValue = MeasureUnit::getPoundFoot();
1532 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
1533 measureUnitValue = MeasureUnit::getAcreFoot();
1534 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
1535 measureUnitValue = MeasureUnit::getBarrel();
1536 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
1537 measureUnitValue = MeasureUnit::getBushel();
1538 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
1539 measureUnitValue = MeasureUnit::getCentiliter();
1540 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
1541 measureUnitValue = MeasureUnit::getCubicCentimeter();
1542 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
1543 measureUnitValue = MeasureUnit::getCubicFoot();
1544 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
1545 measureUnitValue = MeasureUnit::getCubicInch();
1546 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
1547 measureUnitValue = MeasureUnit::getCubicKilometer();
1548 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
1549 measureUnitValue = MeasureUnit::getCubicMeter();
1550 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
1551 measureUnitValue = MeasureUnit::getCubicMile();
1552 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
1553 measureUnitValue = MeasureUnit::getCubicYard();
1554 measureUnit.adoptInstead(MeasureUnit::createCup(status));
1555 measureUnitValue = MeasureUnit::getCup();
1556 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
1557 measureUnitValue = MeasureUnit::getCupMetric();
1558 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
1559 measureUnitValue = MeasureUnit::getDeciliter();
1560 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
1561 measureUnitValue = MeasureUnit::getFluidOunce();
1562 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
1563 measureUnitValue = MeasureUnit::getFluidOunceImperial();
1564 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
1565 measureUnitValue = MeasureUnit::getGallon();
1566 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
1567 measureUnitValue = MeasureUnit::getGallonImperial();
1568 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
1569 measureUnitValue = MeasureUnit::getHectoliter();
1570 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
1571 measureUnitValue = MeasureUnit::getLiter();
1572 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
1573 measureUnitValue = MeasureUnit::getMegaliter();
1574 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
1575 measureUnitValue = MeasureUnit::getMilliliter();
1576 measureUnit.adoptInstead(MeasureUnit::createPint(status));
1577 measureUnitValue = MeasureUnit::getPint();
1578 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
1579 measureUnitValue = MeasureUnit::getPintMetric();
1580 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
1581 measureUnitValue = MeasureUnit::getQuart();
1582 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
1583 measureUnitValue = MeasureUnit::getTablespoon();
1584 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
1585 measureUnitValue = MeasureUnit::getTeaspoon();
1586 assertSuccess("", status);
1587 }
1588
TestCompatible65()1589 void MeasureFormatTest::TestCompatible65() {
1590 UErrorCode status = U_ZERO_ERROR;
1591 LocalPointer<MeasureUnit> measureUnit;
1592 MeasureUnit measureUnitValue;
1593 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
1594 measureUnitValue = MeasureUnit::getGForce();
1595 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
1596 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
1597 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
1598 measureUnitValue = MeasureUnit::getArcMinute();
1599 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
1600 measureUnitValue = MeasureUnit::getArcSecond();
1601 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
1602 measureUnitValue = MeasureUnit::getDegree();
1603 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
1604 measureUnitValue = MeasureUnit::getRadian();
1605 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
1606 measureUnitValue = MeasureUnit::getRevolutionAngle();
1607 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
1608 measureUnitValue = MeasureUnit::getAcre();
1609 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
1610 measureUnitValue = MeasureUnit::getDunam();
1611 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
1612 measureUnitValue = MeasureUnit::getHectare();
1613 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
1614 measureUnitValue = MeasureUnit::getSquareCentimeter();
1615 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
1616 measureUnitValue = MeasureUnit::getSquareFoot();
1617 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
1618 measureUnitValue = MeasureUnit::getSquareInch();
1619 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
1620 measureUnitValue = MeasureUnit::getSquareKilometer();
1621 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
1622 measureUnitValue = MeasureUnit::getSquareMeter();
1623 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
1624 measureUnitValue = MeasureUnit::getSquareMile();
1625 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
1626 measureUnitValue = MeasureUnit::getSquareYard();
1627 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
1628 measureUnitValue = MeasureUnit::getKarat();
1629 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
1630 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
1631 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
1632 measureUnitValue = MeasureUnit::getMillimolePerLiter();
1633 measureUnit.adoptInstead(MeasureUnit::createMole(status));
1634 measureUnitValue = MeasureUnit::getMole();
1635 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
1636 measureUnitValue = MeasureUnit::getPartPerMillion();
1637 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
1638 measureUnitValue = MeasureUnit::getPercent();
1639 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
1640 measureUnitValue = MeasureUnit::getPermille();
1641 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
1642 measureUnitValue = MeasureUnit::getPermyriad();
1643 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
1644 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
1645 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
1646 measureUnitValue = MeasureUnit::getLiterPerKilometer();
1647 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
1648 measureUnitValue = MeasureUnit::getMilePerGallon();
1649 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
1650 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
1651 measureUnit.adoptInstead(MeasureUnit::createBit(status));
1652 measureUnitValue = MeasureUnit::getBit();
1653 measureUnit.adoptInstead(MeasureUnit::createByte(status));
1654 measureUnitValue = MeasureUnit::getByte();
1655 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
1656 measureUnitValue = MeasureUnit::getGigabit();
1657 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
1658 measureUnitValue = MeasureUnit::getGigabyte();
1659 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
1660 measureUnitValue = MeasureUnit::getKilobit();
1661 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
1662 measureUnitValue = MeasureUnit::getKilobyte();
1663 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
1664 measureUnitValue = MeasureUnit::getMegabit();
1665 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
1666 measureUnitValue = MeasureUnit::getMegabyte();
1667 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
1668 measureUnitValue = MeasureUnit::getPetabyte();
1669 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
1670 measureUnitValue = MeasureUnit::getTerabit();
1671 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
1672 measureUnitValue = MeasureUnit::getTerabyte();
1673 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
1674 measureUnitValue = MeasureUnit::getCentury();
1675 measureUnit.adoptInstead(MeasureUnit::createDay(status));
1676 measureUnitValue = MeasureUnit::getDay();
1677 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
1678 measureUnitValue = MeasureUnit::getDayPerson();
1679 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
1680 measureUnitValue = MeasureUnit::getDecade();
1681 measureUnit.adoptInstead(MeasureUnit::createHour(status));
1682 measureUnitValue = MeasureUnit::getHour();
1683 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
1684 measureUnitValue = MeasureUnit::getMicrosecond();
1685 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
1686 measureUnitValue = MeasureUnit::getMillisecond();
1687 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
1688 measureUnitValue = MeasureUnit::getMinute();
1689 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
1690 measureUnitValue = MeasureUnit::getMonth();
1691 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
1692 measureUnitValue = MeasureUnit::getMonthPerson();
1693 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
1694 measureUnitValue = MeasureUnit::getNanosecond();
1695 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
1696 measureUnitValue = MeasureUnit::getSecond();
1697 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
1698 measureUnitValue = MeasureUnit::getWeek();
1699 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
1700 measureUnitValue = MeasureUnit::getWeekPerson();
1701 measureUnit.adoptInstead(MeasureUnit::createYear(status));
1702 measureUnitValue = MeasureUnit::getYear();
1703 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
1704 measureUnitValue = MeasureUnit::getYearPerson();
1705 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
1706 measureUnitValue = MeasureUnit::getAmpere();
1707 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
1708 measureUnitValue = MeasureUnit::getMilliampere();
1709 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
1710 measureUnitValue = MeasureUnit::getOhm();
1711 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
1712 measureUnitValue = MeasureUnit::getVolt();
1713 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
1714 measureUnitValue = MeasureUnit::getBritishThermalUnit();
1715 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
1716 measureUnitValue = MeasureUnit::getCalorie();
1717 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
1718 measureUnitValue = MeasureUnit::getElectronvolt();
1719 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
1720 measureUnitValue = MeasureUnit::getFoodcalorie();
1721 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
1722 measureUnitValue = MeasureUnit::getJoule();
1723 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
1724 measureUnitValue = MeasureUnit::getKilocalorie();
1725 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
1726 measureUnitValue = MeasureUnit::getKilojoule();
1727 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
1728 measureUnitValue = MeasureUnit::getKilowattHour();
1729 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
1730 measureUnitValue = MeasureUnit::getThermUs();
1731 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
1732 measureUnitValue = MeasureUnit::getNewton();
1733 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
1734 measureUnitValue = MeasureUnit::getPoundForce();
1735 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
1736 measureUnitValue = MeasureUnit::getGigahertz();
1737 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
1738 measureUnitValue = MeasureUnit::getHertz();
1739 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
1740 measureUnitValue = MeasureUnit::getKilohertz();
1741 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
1742 measureUnitValue = MeasureUnit::getMegahertz();
1743 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
1744 measureUnitValue = MeasureUnit::getDotPerCentimeter();
1745 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
1746 measureUnitValue = MeasureUnit::getDotPerInch();
1747 measureUnit.adoptInstead(MeasureUnit::createEm(status));
1748 measureUnitValue = MeasureUnit::getEm();
1749 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
1750 measureUnitValue = MeasureUnit::getMegapixel();
1751 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
1752 measureUnitValue = MeasureUnit::getPixel();
1753 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
1754 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
1755 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
1756 measureUnitValue = MeasureUnit::getPixelPerInch();
1757 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
1758 measureUnitValue = MeasureUnit::getAstronomicalUnit();
1759 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
1760 measureUnitValue = MeasureUnit::getCentimeter();
1761 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
1762 measureUnitValue = MeasureUnit::getDecimeter();
1763 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
1764 measureUnitValue = MeasureUnit::getFathom();
1765 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
1766 measureUnitValue = MeasureUnit::getFoot();
1767 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
1768 measureUnitValue = MeasureUnit::getFurlong();
1769 measureUnit.adoptInstead(MeasureUnit::createInch(status));
1770 measureUnitValue = MeasureUnit::getInch();
1771 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
1772 measureUnitValue = MeasureUnit::getKilometer();
1773 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
1774 measureUnitValue = MeasureUnit::getLightYear();
1775 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
1776 measureUnitValue = MeasureUnit::getMeter();
1777 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
1778 measureUnitValue = MeasureUnit::getMicrometer();
1779 measureUnit.adoptInstead(MeasureUnit::createMile(status));
1780 measureUnitValue = MeasureUnit::getMile();
1781 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
1782 measureUnitValue = MeasureUnit::getMileScandinavian();
1783 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
1784 measureUnitValue = MeasureUnit::getMillimeter();
1785 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
1786 measureUnitValue = MeasureUnit::getNanometer();
1787 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
1788 measureUnitValue = MeasureUnit::getNauticalMile();
1789 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
1790 measureUnitValue = MeasureUnit::getParsec();
1791 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
1792 measureUnitValue = MeasureUnit::getPicometer();
1793 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
1794 measureUnitValue = MeasureUnit::getPoint();
1795 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
1796 measureUnitValue = MeasureUnit::getSolarRadius();
1797 measureUnit.adoptInstead(MeasureUnit::createYard(status));
1798 measureUnitValue = MeasureUnit::getYard();
1799 measureUnit.adoptInstead(MeasureUnit::createLux(status));
1800 measureUnitValue = MeasureUnit::getLux();
1801 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
1802 measureUnitValue = MeasureUnit::getSolarLuminosity();
1803 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
1804 measureUnitValue = MeasureUnit::getCarat();
1805 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
1806 measureUnitValue = MeasureUnit::getDalton();
1807 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
1808 measureUnitValue = MeasureUnit::getEarthMass();
1809 measureUnit.adoptInstead(MeasureUnit::createGram(status));
1810 measureUnitValue = MeasureUnit::getGram();
1811 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
1812 measureUnitValue = MeasureUnit::getKilogram();
1813 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
1814 measureUnitValue = MeasureUnit::getMetricTon();
1815 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
1816 measureUnitValue = MeasureUnit::getMicrogram();
1817 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
1818 measureUnitValue = MeasureUnit::getMilligram();
1819 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
1820 measureUnitValue = MeasureUnit::getOunce();
1821 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
1822 measureUnitValue = MeasureUnit::getOunceTroy();
1823 measureUnit.adoptInstead(MeasureUnit::createPound(status));
1824 measureUnitValue = MeasureUnit::getPound();
1825 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
1826 measureUnitValue = MeasureUnit::getSolarMass();
1827 measureUnit.adoptInstead(MeasureUnit::createStone(status));
1828 measureUnitValue = MeasureUnit::getStone();
1829 measureUnit.adoptInstead(MeasureUnit::createTon(status));
1830 measureUnitValue = MeasureUnit::getTon();
1831 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
1832 measureUnitValue = MeasureUnit::getGigawatt();
1833 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
1834 measureUnitValue = MeasureUnit::getHorsepower();
1835 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
1836 measureUnitValue = MeasureUnit::getKilowatt();
1837 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
1838 measureUnitValue = MeasureUnit::getMegawatt();
1839 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
1840 measureUnitValue = MeasureUnit::getMilliwatt();
1841 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
1842 measureUnitValue = MeasureUnit::getWatt();
1843 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
1844 measureUnitValue = MeasureUnit::getAtmosphere();
1845 measureUnit.adoptInstead(MeasureUnit::createBar(status));
1846 measureUnitValue = MeasureUnit::getBar();
1847 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
1848 measureUnitValue = MeasureUnit::getHectopascal();
1849 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
1850 measureUnitValue = MeasureUnit::getInchHg();
1851 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
1852 measureUnitValue = MeasureUnit::getKilopascal();
1853 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
1854 measureUnitValue = MeasureUnit::getMegapascal();
1855 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
1856 measureUnitValue = MeasureUnit::getMillibar();
1857 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
1858 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
1859 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
1860 measureUnitValue = MeasureUnit::getPascal();
1861 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
1862 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
1863 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
1864 measureUnitValue = MeasureUnit::getKilometerPerHour();
1865 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
1866 measureUnitValue = MeasureUnit::getKnot();
1867 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
1868 measureUnitValue = MeasureUnit::getMeterPerSecond();
1869 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
1870 measureUnitValue = MeasureUnit::getMilePerHour();
1871 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
1872 measureUnitValue = MeasureUnit::getCelsius();
1873 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
1874 measureUnitValue = MeasureUnit::getFahrenheit();
1875 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
1876 measureUnitValue = MeasureUnit::getGenericTemperature();
1877 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
1878 measureUnitValue = MeasureUnit::getKelvin();
1879 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
1880 measureUnitValue = MeasureUnit::getNewtonMeter();
1881 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
1882 measureUnitValue = MeasureUnit::getPoundFoot();
1883 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
1884 measureUnitValue = MeasureUnit::getAcreFoot();
1885 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
1886 measureUnitValue = MeasureUnit::getBarrel();
1887 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
1888 measureUnitValue = MeasureUnit::getBushel();
1889 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
1890 measureUnitValue = MeasureUnit::getCentiliter();
1891 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
1892 measureUnitValue = MeasureUnit::getCubicCentimeter();
1893 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
1894 measureUnitValue = MeasureUnit::getCubicFoot();
1895 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
1896 measureUnitValue = MeasureUnit::getCubicInch();
1897 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
1898 measureUnitValue = MeasureUnit::getCubicKilometer();
1899 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
1900 measureUnitValue = MeasureUnit::getCubicMeter();
1901 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
1902 measureUnitValue = MeasureUnit::getCubicMile();
1903 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
1904 measureUnitValue = MeasureUnit::getCubicYard();
1905 measureUnit.adoptInstead(MeasureUnit::createCup(status));
1906 measureUnitValue = MeasureUnit::getCup();
1907 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
1908 measureUnitValue = MeasureUnit::getCupMetric();
1909 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
1910 measureUnitValue = MeasureUnit::getDeciliter();
1911 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
1912 measureUnitValue = MeasureUnit::getFluidOunce();
1913 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
1914 measureUnitValue = MeasureUnit::getFluidOunceImperial();
1915 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
1916 measureUnitValue = MeasureUnit::getGallon();
1917 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
1918 measureUnitValue = MeasureUnit::getGallonImperial();
1919 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
1920 measureUnitValue = MeasureUnit::getHectoliter();
1921 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
1922 measureUnitValue = MeasureUnit::getLiter();
1923 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
1924 measureUnitValue = MeasureUnit::getMegaliter();
1925 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
1926 measureUnitValue = MeasureUnit::getMilliliter();
1927 measureUnit.adoptInstead(MeasureUnit::createPint(status));
1928 measureUnitValue = MeasureUnit::getPint();
1929 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
1930 measureUnitValue = MeasureUnit::getPintMetric();
1931 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
1932 measureUnitValue = MeasureUnit::getQuart();
1933 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
1934 measureUnitValue = MeasureUnit::getTablespoon();
1935 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
1936 measureUnitValue = MeasureUnit::getTeaspoon();
1937 assertSuccess("", status);
1938 }
1939
1940 // Note that TestCompatible66(), TestCompatible67()
1941 // would be the same as TestCompatible65(), no need to add them.
1942
TestCompatible68()1943 void MeasureFormatTest::TestCompatible68() {
1944 UErrorCode status = U_ZERO_ERROR;
1945 LocalPointer<MeasureUnit> measureUnit;
1946 MeasureUnit measureUnitValue;
1947 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
1948 measureUnitValue = MeasureUnit::getGForce();
1949 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
1950 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
1951 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
1952 measureUnitValue = MeasureUnit::getArcMinute();
1953 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
1954 measureUnitValue = MeasureUnit::getArcSecond();
1955 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
1956 measureUnitValue = MeasureUnit::getDegree();
1957 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
1958 measureUnitValue = MeasureUnit::getRadian();
1959 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
1960 measureUnitValue = MeasureUnit::getRevolutionAngle();
1961 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
1962 measureUnitValue = MeasureUnit::getAcre();
1963 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
1964 measureUnitValue = MeasureUnit::getDunam();
1965 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
1966 measureUnitValue = MeasureUnit::getHectare();
1967 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
1968 measureUnitValue = MeasureUnit::getSquareCentimeter();
1969 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
1970 measureUnitValue = MeasureUnit::getSquareFoot();
1971 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
1972 measureUnitValue = MeasureUnit::getSquareInch();
1973 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
1974 measureUnitValue = MeasureUnit::getSquareKilometer();
1975 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
1976 measureUnitValue = MeasureUnit::getSquareMeter();
1977 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
1978 measureUnitValue = MeasureUnit::getSquareMile();
1979 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
1980 measureUnitValue = MeasureUnit::getSquareYard();
1981 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
1982 measureUnitValue = MeasureUnit::getKarat();
1983 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
1984 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
1985 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
1986 measureUnitValue = MeasureUnit::getMillimolePerLiter();
1987 measureUnit.adoptInstead(MeasureUnit::createMole(status));
1988 measureUnitValue = MeasureUnit::getMole();
1989 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
1990 measureUnitValue = MeasureUnit::getPercent();
1991 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
1992 measureUnitValue = MeasureUnit::getPermille();
1993 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
1994 measureUnitValue = MeasureUnit::getPartPerMillion();
1995 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
1996 measureUnitValue = MeasureUnit::getPermyriad();
1997 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
1998 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
1999 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
2000 measureUnitValue = MeasureUnit::getLiterPerKilometer();
2001 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
2002 measureUnitValue = MeasureUnit::getMilePerGallon();
2003 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
2004 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
2005 measureUnit.adoptInstead(MeasureUnit::createBit(status));
2006 measureUnitValue = MeasureUnit::getBit();
2007 measureUnit.adoptInstead(MeasureUnit::createByte(status));
2008 measureUnitValue = MeasureUnit::getByte();
2009 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
2010 measureUnitValue = MeasureUnit::getGigabit();
2011 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
2012 measureUnitValue = MeasureUnit::getGigabyte();
2013 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
2014 measureUnitValue = MeasureUnit::getKilobit();
2015 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
2016 measureUnitValue = MeasureUnit::getKilobyte();
2017 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
2018 measureUnitValue = MeasureUnit::getMegabit();
2019 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
2020 measureUnitValue = MeasureUnit::getMegabyte();
2021 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
2022 measureUnitValue = MeasureUnit::getPetabyte();
2023 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
2024 measureUnitValue = MeasureUnit::getTerabit();
2025 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
2026 measureUnitValue = MeasureUnit::getTerabyte();
2027 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
2028 measureUnitValue = MeasureUnit::getCentury();
2029 measureUnit.adoptInstead(MeasureUnit::createDay(status));
2030 measureUnitValue = MeasureUnit::getDay();
2031 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
2032 measureUnitValue = MeasureUnit::getDayPerson();
2033 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
2034 measureUnitValue = MeasureUnit::getDecade();
2035 measureUnit.adoptInstead(MeasureUnit::createHour(status));
2036 measureUnitValue = MeasureUnit::getHour();
2037 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
2038 measureUnitValue = MeasureUnit::getMicrosecond();
2039 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
2040 measureUnitValue = MeasureUnit::getMillisecond();
2041 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
2042 measureUnitValue = MeasureUnit::getMinute();
2043 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
2044 measureUnitValue = MeasureUnit::getMonth();
2045 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
2046 measureUnitValue = MeasureUnit::getMonthPerson();
2047 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
2048 measureUnitValue = MeasureUnit::getNanosecond();
2049 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
2050 measureUnitValue = MeasureUnit::getSecond();
2051 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
2052 measureUnitValue = MeasureUnit::getWeek();
2053 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
2054 measureUnitValue = MeasureUnit::getWeekPerson();
2055 measureUnit.adoptInstead(MeasureUnit::createYear(status));
2056 measureUnitValue = MeasureUnit::getYear();
2057 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
2058 measureUnitValue = MeasureUnit::getYearPerson();
2059 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
2060 measureUnitValue = MeasureUnit::getAmpere();
2061 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
2062 measureUnitValue = MeasureUnit::getMilliampere();
2063 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
2064 measureUnitValue = MeasureUnit::getOhm();
2065 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
2066 measureUnitValue = MeasureUnit::getVolt();
2067 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
2068 measureUnitValue = MeasureUnit::getBritishThermalUnit();
2069 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
2070 measureUnitValue = MeasureUnit::getCalorie();
2071 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
2072 measureUnitValue = MeasureUnit::getElectronvolt();
2073 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
2074 measureUnitValue = MeasureUnit::getFoodcalorie();
2075 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
2076 measureUnitValue = MeasureUnit::getJoule();
2077 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
2078 measureUnitValue = MeasureUnit::getKilocalorie();
2079 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
2080 measureUnitValue = MeasureUnit::getKilojoule();
2081 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
2082 measureUnitValue = MeasureUnit::getKilowattHour();
2083 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
2084 measureUnitValue = MeasureUnit::getThermUs();
2085 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
2086 measureUnitValue = MeasureUnit::getNewton();
2087 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
2088 measureUnitValue = MeasureUnit::getPoundForce();
2089 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
2090 measureUnitValue = MeasureUnit::getGigahertz();
2091 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
2092 measureUnitValue = MeasureUnit::getHertz();
2093 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
2094 measureUnitValue = MeasureUnit::getKilohertz();
2095 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
2096 measureUnitValue = MeasureUnit::getMegahertz();
2097 measureUnit.adoptInstead(MeasureUnit::createDot(status));
2098 measureUnitValue = MeasureUnit::getDot();
2099 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
2100 measureUnitValue = MeasureUnit::getDotPerCentimeter();
2101 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
2102 measureUnitValue = MeasureUnit::getDotPerInch();
2103 measureUnit.adoptInstead(MeasureUnit::createEm(status));
2104 measureUnitValue = MeasureUnit::getEm();
2105 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
2106 measureUnitValue = MeasureUnit::getMegapixel();
2107 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
2108 measureUnitValue = MeasureUnit::getPixel();
2109 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
2110 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
2111 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
2112 measureUnitValue = MeasureUnit::getPixelPerInch();
2113 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
2114 measureUnitValue = MeasureUnit::getAstronomicalUnit();
2115 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
2116 measureUnitValue = MeasureUnit::getCentimeter();
2117 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
2118 measureUnitValue = MeasureUnit::getDecimeter();
2119 measureUnit.adoptInstead(MeasureUnit::createEarthRadius(status));
2120 measureUnitValue = MeasureUnit::getEarthRadius();
2121 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
2122 measureUnitValue = MeasureUnit::getFathom();
2123 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
2124 measureUnitValue = MeasureUnit::getFoot();
2125 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
2126 measureUnitValue = MeasureUnit::getFurlong();
2127 measureUnit.adoptInstead(MeasureUnit::createInch(status));
2128 measureUnitValue = MeasureUnit::getInch();
2129 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
2130 measureUnitValue = MeasureUnit::getKilometer();
2131 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
2132 measureUnitValue = MeasureUnit::getLightYear();
2133 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
2134 measureUnitValue = MeasureUnit::getMeter();
2135 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
2136 measureUnitValue = MeasureUnit::getMicrometer();
2137 measureUnit.adoptInstead(MeasureUnit::createMile(status));
2138 measureUnitValue = MeasureUnit::getMile();
2139 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
2140 measureUnitValue = MeasureUnit::getMileScandinavian();
2141 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
2142 measureUnitValue = MeasureUnit::getMillimeter();
2143 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
2144 measureUnitValue = MeasureUnit::getNanometer();
2145 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
2146 measureUnitValue = MeasureUnit::getNauticalMile();
2147 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
2148 measureUnitValue = MeasureUnit::getParsec();
2149 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
2150 measureUnitValue = MeasureUnit::getPicometer();
2151 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
2152 measureUnitValue = MeasureUnit::getPoint();
2153 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
2154 measureUnitValue = MeasureUnit::getSolarRadius();
2155 measureUnit.adoptInstead(MeasureUnit::createYard(status));
2156 measureUnitValue = MeasureUnit::getYard();
2157 measureUnit.adoptInstead(MeasureUnit::createCandela(status));
2158 measureUnitValue = MeasureUnit::getCandela();
2159 measureUnit.adoptInstead(MeasureUnit::createLumen(status));
2160 measureUnitValue = MeasureUnit::getLumen();
2161 measureUnit.adoptInstead(MeasureUnit::createLux(status));
2162 measureUnitValue = MeasureUnit::getLux();
2163 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
2164 measureUnitValue = MeasureUnit::getSolarLuminosity();
2165 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
2166 measureUnitValue = MeasureUnit::getCarat();
2167 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
2168 measureUnitValue = MeasureUnit::getDalton();
2169 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
2170 measureUnitValue = MeasureUnit::getEarthMass();
2171 measureUnit.adoptInstead(MeasureUnit::createGrain(status));
2172 measureUnitValue = MeasureUnit::getGrain();
2173 measureUnit.adoptInstead(MeasureUnit::createGram(status));
2174 measureUnitValue = MeasureUnit::getGram();
2175 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
2176 measureUnitValue = MeasureUnit::getKilogram();
2177 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
2178 measureUnitValue = MeasureUnit::getMetricTon();
2179 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
2180 measureUnitValue = MeasureUnit::getMicrogram();
2181 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
2182 measureUnitValue = MeasureUnit::getMilligram();
2183 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
2184 measureUnitValue = MeasureUnit::getOunce();
2185 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
2186 measureUnitValue = MeasureUnit::getOunceTroy();
2187 measureUnit.adoptInstead(MeasureUnit::createPound(status));
2188 measureUnitValue = MeasureUnit::getPound();
2189 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
2190 measureUnitValue = MeasureUnit::getSolarMass();
2191 measureUnit.adoptInstead(MeasureUnit::createStone(status));
2192 measureUnitValue = MeasureUnit::getStone();
2193 measureUnit.adoptInstead(MeasureUnit::createTon(status));
2194 measureUnitValue = MeasureUnit::getTon();
2195 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
2196 measureUnitValue = MeasureUnit::getGigawatt();
2197 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
2198 measureUnitValue = MeasureUnit::getHorsepower();
2199 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
2200 measureUnitValue = MeasureUnit::getKilowatt();
2201 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
2202 measureUnitValue = MeasureUnit::getMegawatt();
2203 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
2204 measureUnitValue = MeasureUnit::getMilliwatt();
2205 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
2206 measureUnitValue = MeasureUnit::getWatt();
2207 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
2208 measureUnitValue = MeasureUnit::getAtmosphere();
2209 measureUnit.adoptInstead(MeasureUnit::createBar(status));
2210 measureUnitValue = MeasureUnit::getBar();
2211 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
2212 measureUnitValue = MeasureUnit::getHectopascal();
2213 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
2214 measureUnitValue = MeasureUnit::getInchHg();
2215 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
2216 measureUnitValue = MeasureUnit::getKilopascal();
2217 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
2218 measureUnitValue = MeasureUnit::getMegapascal();
2219 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
2220 measureUnitValue = MeasureUnit::getMillibar();
2221 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
2222 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
2223 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
2224 measureUnitValue = MeasureUnit::getPascal();
2225 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
2226 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
2227 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
2228 measureUnitValue = MeasureUnit::getKilometerPerHour();
2229 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
2230 measureUnitValue = MeasureUnit::getKnot();
2231 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
2232 measureUnitValue = MeasureUnit::getMeterPerSecond();
2233 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
2234 measureUnitValue = MeasureUnit::getMilePerHour();
2235 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
2236 measureUnitValue = MeasureUnit::getCelsius();
2237 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
2238 measureUnitValue = MeasureUnit::getFahrenheit();
2239 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
2240 measureUnitValue = MeasureUnit::getGenericTemperature();
2241 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
2242 measureUnitValue = MeasureUnit::getKelvin();
2243 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
2244 measureUnitValue = MeasureUnit::getNewtonMeter();
2245 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
2246 measureUnitValue = MeasureUnit::getPoundFoot();
2247 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
2248 measureUnitValue = MeasureUnit::getAcreFoot();
2249 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
2250 measureUnitValue = MeasureUnit::getBarrel();
2251 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
2252 measureUnitValue = MeasureUnit::getBushel();
2253 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
2254 measureUnitValue = MeasureUnit::getCentiliter();
2255 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
2256 measureUnitValue = MeasureUnit::getCubicCentimeter();
2257 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
2258 measureUnitValue = MeasureUnit::getCubicFoot();
2259 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
2260 measureUnitValue = MeasureUnit::getCubicInch();
2261 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
2262 measureUnitValue = MeasureUnit::getCubicKilometer();
2263 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
2264 measureUnitValue = MeasureUnit::getCubicMeter();
2265 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
2266 measureUnitValue = MeasureUnit::getCubicMile();
2267 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
2268 measureUnitValue = MeasureUnit::getCubicYard();
2269 measureUnit.adoptInstead(MeasureUnit::createCup(status));
2270 measureUnitValue = MeasureUnit::getCup();
2271 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
2272 measureUnitValue = MeasureUnit::getCupMetric();
2273 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
2274 measureUnitValue = MeasureUnit::getDeciliter();
2275 measureUnit.adoptInstead(MeasureUnit::createDessertSpoon(status));
2276 measureUnitValue = MeasureUnit::getDessertSpoon();
2277 measureUnit.adoptInstead(MeasureUnit::createDessertSpoonImperial(status));
2278 measureUnitValue = MeasureUnit::getDessertSpoonImperial();
2279 measureUnit.adoptInstead(MeasureUnit::createDram(status));
2280 measureUnitValue = MeasureUnit::getDram();
2281 measureUnit.adoptInstead(MeasureUnit::createDrop(status));
2282 measureUnitValue = MeasureUnit::getDrop();
2283 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
2284 measureUnitValue = MeasureUnit::getFluidOunce();
2285 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
2286 measureUnitValue = MeasureUnit::getFluidOunceImperial();
2287 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
2288 measureUnitValue = MeasureUnit::getGallon();
2289 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
2290 measureUnitValue = MeasureUnit::getGallonImperial();
2291 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
2292 measureUnitValue = MeasureUnit::getHectoliter();
2293 measureUnit.adoptInstead(MeasureUnit::createJigger(status));
2294 measureUnitValue = MeasureUnit::getJigger();
2295 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
2296 measureUnitValue = MeasureUnit::getLiter();
2297 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
2298 measureUnitValue = MeasureUnit::getMegaliter();
2299 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
2300 measureUnitValue = MeasureUnit::getMilliliter();
2301 measureUnit.adoptInstead(MeasureUnit::createPinch(status));
2302 measureUnitValue = MeasureUnit::getPinch();
2303 measureUnit.adoptInstead(MeasureUnit::createPint(status));
2304 measureUnitValue = MeasureUnit::getPint();
2305 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
2306 measureUnitValue = MeasureUnit::getPintMetric();
2307 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
2308 measureUnitValue = MeasureUnit::getQuart();
2309 measureUnit.adoptInstead(MeasureUnit::createQuartImperial(status));
2310 measureUnitValue = MeasureUnit::getQuartImperial();
2311 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
2312 measureUnitValue = MeasureUnit::getTablespoon();
2313 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
2314 measureUnitValue = MeasureUnit::getTeaspoon();
2315 assertSuccess("", status);
2316 }
2317
TestCompatible69()2318 void MeasureFormatTest::TestCompatible69() {
2319 UErrorCode status = U_ZERO_ERROR;
2320 LocalPointer<MeasureUnit> measureUnit;
2321 MeasureUnit measureUnitValue;
2322 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
2323 measureUnitValue = MeasureUnit::getGForce();
2324 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
2325 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
2326 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
2327 measureUnitValue = MeasureUnit::getArcMinute();
2328 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
2329 measureUnitValue = MeasureUnit::getArcSecond();
2330 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
2331 measureUnitValue = MeasureUnit::getDegree();
2332 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
2333 measureUnitValue = MeasureUnit::getRadian();
2334 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
2335 measureUnitValue = MeasureUnit::getRevolutionAngle();
2336 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
2337 measureUnitValue = MeasureUnit::getAcre();
2338 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
2339 measureUnitValue = MeasureUnit::getDunam();
2340 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
2341 measureUnitValue = MeasureUnit::getHectare();
2342 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
2343 measureUnitValue = MeasureUnit::getSquareCentimeter();
2344 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
2345 measureUnitValue = MeasureUnit::getSquareFoot();
2346 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
2347 measureUnitValue = MeasureUnit::getSquareInch();
2348 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
2349 measureUnitValue = MeasureUnit::getSquareKilometer();
2350 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
2351 measureUnitValue = MeasureUnit::getSquareMeter();
2352 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
2353 measureUnitValue = MeasureUnit::getSquareMile();
2354 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
2355 measureUnitValue = MeasureUnit::getSquareYard();
2356 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
2357 measureUnitValue = MeasureUnit::getKarat();
2358 measureUnit.adoptInstead(MeasureUnit::createMilligramOfglucosePerDeciliter(status));
2359 measureUnitValue = MeasureUnit::getMilligramOfglucosePerDeciliter();
2360 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
2361 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
2362 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
2363 measureUnitValue = MeasureUnit::getMillimolePerLiter();
2364 measureUnit.adoptInstead(MeasureUnit::createMole(status));
2365 measureUnitValue = MeasureUnit::getMole();
2366 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
2367 measureUnitValue = MeasureUnit::getPercent();
2368 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
2369 measureUnitValue = MeasureUnit::getPermille();
2370 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
2371 measureUnitValue = MeasureUnit::getPartPerMillion();
2372 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
2373 measureUnitValue = MeasureUnit::getPermyriad();
2374 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
2375 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
2376 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
2377 measureUnitValue = MeasureUnit::getLiterPerKilometer();
2378 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
2379 measureUnitValue = MeasureUnit::getMilePerGallon();
2380 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
2381 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
2382 measureUnit.adoptInstead(MeasureUnit::createBit(status));
2383 measureUnitValue = MeasureUnit::getBit();
2384 measureUnit.adoptInstead(MeasureUnit::createByte(status));
2385 measureUnitValue = MeasureUnit::getByte();
2386 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
2387 measureUnitValue = MeasureUnit::getGigabit();
2388 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
2389 measureUnitValue = MeasureUnit::getGigabyte();
2390 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
2391 measureUnitValue = MeasureUnit::getKilobit();
2392 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
2393 measureUnitValue = MeasureUnit::getKilobyte();
2394 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
2395 measureUnitValue = MeasureUnit::getMegabit();
2396 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
2397 measureUnitValue = MeasureUnit::getMegabyte();
2398 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
2399 measureUnitValue = MeasureUnit::getPetabyte();
2400 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
2401 measureUnitValue = MeasureUnit::getTerabit();
2402 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
2403 measureUnitValue = MeasureUnit::getTerabyte();
2404 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
2405 measureUnitValue = MeasureUnit::getCentury();
2406 measureUnit.adoptInstead(MeasureUnit::createDay(status));
2407 measureUnitValue = MeasureUnit::getDay();
2408 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
2409 measureUnitValue = MeasureUnit::getDayPerson();
2410 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
2411 measureUnitValue = MeasureUnit::getDecade();
2412 measureUnit.adoptInstead(MeasureUnit::createHour(status));
2413 measureUnitValue = MeasureUnit::getHour();
2414 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
2415 measureUnitValue = MeasureUnit::getMicrosecond();
2416 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
2417 measureUnitValue = MeasureUnit::getMillisecond();
2418 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
2419 measureUnitValue = MeasureUnit::getMinute();
2420 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
2421 measureUnitValue = MeasureUnit::getMonth();
2422 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
2423 measureUnitValue = MeasureUnit::getMonthPerson();
2424 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
2425 measureUnitValue = MeasureUnit::getNanosecond();
2426 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
2427 measureUnitValue = MeasureUnit::getSecond();
2428 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
2429 measureUnitValue = MeasureUnit::getWeek();
2430 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
2431 measureUnitValue = MeasureUnit::getWeekPerson();
2432 measureUnit.adoptInstead(MeasureUnit::createYear(status));
2433 measureUnitValue = MeasureUnit::getYear();
2434 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
2435 measureUnitValue = MeasureUnit::getYearPerson();
2436 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
2437 measureUnitValue = MeasureUnit::getAmpere();
2438 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
2439 measureUnitValue = MeasureUnit::getMilliampere();
2440 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
2441 measureUnitValue = MeasureUnit::getOhm();
2442 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
2443 measureUnitValue = MeasureUnit::getVolt();
2444 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
2445 measureUnitValue = MeasureUnit::getBritishThermalUnit();
2446 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
2447 measureUnitValue = MeasureUnit::getCalorie();
2448 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
2449 measureUnitValue = MeasureUnit::getElectronvolt();
2450 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
2451 measureUnitValue = MeasureUnit::getFoodcalorie();
2452 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
2453 measureUnitValue = MeasureUnit::getJoule();
2454 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
2455 measureUnitValue = MeasureUnit::getKilocalorie();
2456 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
2457 measureUnitValue = MeasureUnit::getKilojoule();
2458 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
2459 measureUnitValue = MeasureUnit::getKilowattHour();
2460 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
2461 measureUnitValue = MeasureUnit::getThermUs();
2462 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
2463 measureUnitValue = MeasureUnit::getNewton();
2464 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
2465 measureUnitValue = MeasureUnit::getPoundForce();
2466 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
2467 measureUnitValue = MeasureUnit::getGigahertz();
2468 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
2469 measureUnitValue = MeasureUnit::getHertz();
2470 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
2471 measureUnitValue = MeasureUnit::getKilohertz();
2472 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
2473 measureUnitValue = MeasureUnit::getMegahertz();
2474 measureUnit.adoptInstead(MeasureUnit::createDot(status));
2475 measureUnitValue = MeasureUnit::getDot();
2476 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
2477 measureUnitValue = MeasureUnit::getDotPerCentimeter();
2478 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
2479 measureUnitValue = MeasureUnit::getDotPerInch();
2480 measureUnit.adoptInstead(MeasureUnit::createEm(status));
2481 measureUnitValue = MeasureUnit::getEm();
2482 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
2483 measureUnitValue = MeasureUnit::getMegapixel();
2484 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
2485 measureUnitValue = MeasureUnit::getPixel();
2486 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
2487 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
2488 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
2489 measureUnitValue = MeasureUnit::getPixelPerInch();
2490 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
2491 measureUnitValue = MeasureUnit::getAstronomicalUnit();
2492 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
2493 measureUnitValue = MeasureUnit::getCentimeter();
2494 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
2495 measureUnitValue = MeasureUnit::getDecimeter();
2496 measureUnit.adoptInstead(MeasureUnit::createEarthRadius(status));
2497 measureUnitValue = MeasureUnit::getEarthRadius();
2498 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
2499 measureUnitValue = MeasureUnit::getFathom();
2500 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
2501 measureUnitValue = MeasureUnit::getFoot();
2502 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
2503 measureUnitValue = MeasureUnit::getFurlong();
2504 measureUnit.adoptInstead(MeasureUnit::createInch(status));
2505 measureUnitValue = MeasureUnit::getInch();
2506 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
2507 measureUnitValue = MeasureUnit::getKilometer();
2508 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
2509 measureUnitValue = MeasureUnit::getLightYear();
2510 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
2511 measureUnitValue = MeasureUnit::getMeter();
2512 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
2513 measureUnitValue = MeasureUnit::getMicrometer();
2514 measureUnit.adoptInstead(MeasureUnit::createMile(status));
2515 measureUnitValue = MeasureUnit::getMile();
2516 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
2517 measureUnitValue = MeasureUnit::getMileScandinavian();
2518 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
2519 measureUnitValue = MeasureUnit::getMillimeter();
2520 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
2521 measureUnitValue = MeasureUnit::getNanometer();
2522 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
2523 measureUnitValue = MeasureUnit::getNauticalMile();
2524 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
2525 measureUnitValue = MeasureUnit::getParsec();
2526 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
2527 measureUnitValue = MeasureUnit::getPicometer();
2528 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
2529 measureUnitValue = MeasureUnit::getPoint();
2530 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
2531 measureUnitValue = MeasureUnit::getSolarRadius();
2532 measureUnit.adoptInstead(MeasureUnit::createYard(status));
2533 measureUnitValue = MeasureUnit::getYard();
2534 measureUnit.adoptInstead(MeasureUnit::createCandela(status));
2535 measureUnitValue = MeasureUnit::getCandela();
2536 measureUnit.adoptInstead(MeasureUnit::createLumen(status));
2537 measureUnitValue = MeasureUnit::getLumen();
2538 measureUnit.adoptInstead(MeasureUnit::createLux(status));
2539 measureUnitValue = MeasureUnit::getLux();
2540 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
2541 measureUnitValue = MeasureUnit::getSolarLuminosity();
2542 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
2543 measureUnitValue = MeasureUnit::getCarat();
2544 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
2545 measureUnitValue = MeasureUnit::getDalton();
2546 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
2547 measureUnitValue = MeasureUnit::getEarthMass();
2548 measureUnit.adoptInstead(MeasureUnit::createGrain(status));
2549 measureUnitValue = MeasureUnit::getGrain();
2550 measureUnit.adoptInstead(MeasureUnit::createGram(status));
2551 measureUnitValue = MeasureUnit::getGram();
2552 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
2553 measureUnitValue = MeasureUnit::getKilogram();
2554 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
2555 measureUnitValue = MeasureUnit::getMetricTon();
2556 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
2557 measureUnitValue = MeasureUnit::getMicrogram();
2558 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
2559 measureUnitValue = MeasureUnit::getMilligram();
2560 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
2561 measureUnitValue = MeasureUnit::getOunce();
2562 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
2563 measureUnitValue = MeasureUnit::getOunceTroy();
2564 measureUnit.adoptInstead(MeasureUnit::createPound(status));
2565 measureUnitValue = MeasureUnit::getPound();
2566 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
2567 measureUnitValue = MeasureUnit::getSolarMass();
2568 measureUnit.adoptInstead(MeasureUnit::createStone(status));
2569 measureUnitValue = MeasureUnit::getStone();
2570 measureUnit.adoptInstead(MeasureUnit::createTon(status));
2571 measureUnitValue = MeasureUnit::getTon();
2572 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
2573 measureUnitValue = MeasureUnit::getGigawatt();
2574 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
2575 measureUnitValue = MeasureUnit::getHorsepower();
2576 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
2577 measureUnitValue = MeasureUnit::getKilowatt();
2578 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
2579 measureUnitValue = MeasureUnit::getMegawatt();
2580 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
2581 measureUnitValue = MeasureUnit::getMilliwatt();
2582 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
2583 measureUnitValue = MeasureUnit::getWatt();
2584 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
2585 measureUnitValue = MeasureUnit::getAtmosphere();
2586 measureUnit.adoptInstead(MeasureUnit::createBar(status));
2587 measureUnitValue = MeasureUnit::getBar();
2588 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
2589 measureUnitValue = MeasureUnit::getHectopascal();
2590 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
2591 measureUnitValue = MeasureUnit::getInchHg();
2592 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
2593 measureUnitValue = MeasureUnit::getKilopascal();
2594 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
2595 measureUnitValue = MeasureUnit::getMegapascal();
2596 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
2597 measureUnitValue = MeasureUnit::getMillibar();
2598 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
2599 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
2600 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
2601 measureUnitValue = MeasureUnit::getPascal();
2602 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
2603 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
2604 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
2605 measureUnitValue = MeasureUnit::getKilometerPerHour();
2606 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
2607 measureUnitValue = MeasureUnit::getKnot();
2608 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
2609 measureUnitValue = MeasureUnit::getMeterPerSecond();
2610 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
2611 measureUnitValue = MeasureUnit::getMilePerHour();
2612 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
2613 measureUnitValue = MeasureUnit::getCelsius();
2614 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
2615 measureUnitValue = MeasureUnit::getFahrenheit();
2616 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
2617 measureUnitValue = MeasureUnit::getGenericTemperature();
2618 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
2619 measureUnitValue = MeasureUnit::getKelvin();
2620 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
2621 measureUnitValue = MeasureUnit::getNewtonMeter();
2622 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
2623 measureUnitValue = MeasureUnit::getPoundFoot();
2624 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
2625 measureUnitValue = MeasureUnit::getAcreFoot();
2626 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
2627 measureUnitValue = MeasureUnit::getBarrel();
2628 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
2629 measureUnitValue = MeasureUnit::getBushel();
2630 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
2631 measureUnitValue = MeasureUnit::getCentiliter();
2632 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
2633 measureUnitValue = MeasureUnit::getCubicCentimeter();
2634 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
2635 measureUnitValue = MeasureUnit::getCubicFoot();
2636 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
2637 measureUnitValue = MeasureUnit::getCubicInch();
2638 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
2639 measureUnitValue = MeasureUnit::getCubicKilometer();
2640 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
2641 measureUnitValue = MeasureUnit::getCubicMeter();
2642 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
2643 measureUnitValue = MeasureUnit::getCubicMile();
2644 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
2645 measureUnitValue = MeasureUnit::getCubicYard();
2646 measureUnit.adoptInstead(MeasureUnit::createCup(status));
2647 measureUnitValue = MeasureUnit::getCup();
2648 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
2649 measureUnitValue = MeasureUnit::getCupMetric();
2650 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
2651 measureUnitValue = MeasureUnit::getDeciliter();
2652 measureUnit.adoptInstead(MeasureUnit::createDessertSpoon(status));
2653 measureUnitValue = MeasureUnit::getDessertSpoon();
2654 measureUnit.adoptInstead(MeasureUnit::createDessertSpoonImperial(status));
2655 measureUnitValue = MeasureUnit::getDessertSpoonImperial();
2656 measureUnit.adoptInstead(MeasureUnit::createDram(status));
2657 measureUnitValue = MeasureUnit::getDram();
2658 measureUnit.adoptInstead(MeasureUnit::createDrop(status));
2659 measureUnitValue = MeasureUnit::getDrop();
2660 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
2661 measureUnitValue = MeasureUnit::getFluidOunce();
2662 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
2663 measureUnitValue = MeasureUnit::getFluidOunceImperial();
2664 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
2665 measureUnitValue = MeasureUnit::getGallon();
2666 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
2667 measureUnitValue = MeasureUnit::getGallonImperial();
2668 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
2669 measureUnitValue = MeasureUnit::getHectoliter();
2670 measureUnit.adoptInstead(MeasureUnit::createJigger(status));
2671 measureUnitValue = MeasureUnit::getJigger();
2672 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
2673 measureUnitValue = MeasureUnit::getLiter();
2674 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
2675 measureUnitValue = MeasureUnit::getMegaliter();
2676 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
2677 measureUnitValue = MeasureUnit::getMilliliter();
2678 measureUnit.adoptInstead(MeasureUnit::createPinch(status));
2679 measureUnitValue = MeasureUnit::getPinch();
2680 measureUnit.adoptInstead(MeasureUnit::createPint(status));
2681 measureUnitValue = MeasureUnit::getPint();
2682 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
2683 measureUnitValue = MeasureUnit::getPintMetric();
2684 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
2685 measureUnitValue = MeasureUnit::getQuart();
2686 measureUnit.adoptInstead(MeasureUnit::createQuartImperial(status));
2687 measureUnitValue = MeasureUnit::getQuartImperial();
2688 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
2689 measureUnitValue = MeasureUnit::getTablespoon();
2690 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
2691 measureUnitValue = MeasureUnit::getTeaspoon();
2692 assertSuccess("", status);
2693 }
2694
TestCompatible70()2695 void MeasureFormatTest::TestCompatible70() { // TestCompatible71 would be identical
2696 UErrorCode status = U_ZERO_ERROR;
2697 LocalPointer<MeasureUnit> measureUnit;
2698 MeasureUnit measureUnitValue;
2699 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
2700 measureUnitValue = MeasureUnit::getGForce();
2701 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
2702 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
2703 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
2704 measureUnitValue = MeasureUnit::getArcMinute();
2705 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
2706 measureUnitValue = MeasureUnit::getArcSecond();
2707 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
2708 measureUnitValue = MeasureUnit::getDegree();
2709 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
2710 measureUnitValue = MeasureUnit::getRadian();
2711 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
2712 measureUnitValue = MeasureUnit::getRevolutionAngle();
2713 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
2714 measureUnitValue = MeasureUnit::getAcre();
2715 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
2716 measureUnitValue = MeasureUnit::getDunam();
2717 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
2718 measureUnitValue = MeasureUnit::getHectare();
2719 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
2720 measureUnitValue = MeasureUnit::getSquareCentimeter();
2721 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
2722 measureUnitValue = MeasureUnit::getSquareFoot();
2723 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
2724 measureUnitValue = MeasureUnit::getSquareInch();
2725 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
2726 measureUnitValue = MeasureUnit::getSquareKilometer();
2727 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
2728 measureUnitValue = MeasureUnit::getSquareMeter();
2729 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
2730 measureUnitValue = MeasureUnit::getSquareMile();
2731 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
2732 measureUnitValue = MeasureUnit::getSquareYard();
2733 measureUnit.adoptInstead(MeasureUnit::createItem(status));
2734 measureUnitValue = MeasureUnit::getItem();
2735 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
2736 measureUnitValue = MeasureUnit::getKarat();
2737 measureUnit.adoptInstead(MeasureUnit::createMilligramOfglucosePerDeciliter(status));
2738 measureUnitValue = MeasureUnit::getMilligramOfglucosePerDeciliter();
2739 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
2740 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
2741 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
2742 measureUnitValue = MeasureUnit::getMillimolePerLiter();
2743 measureUnit.adoptInstead(MeasureUnit::createMole(status));
2744 measureUnitValue = MeasureUnit::getMole();
2745 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
2746 measureUnitValue = MeasureUnit::getPercent();
2747 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
2748 measureUnitValue = MeasureUnit::getPermille();
2749 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
2750 measureUnitValue = MeasureUnit::getPartPerMillion();
2751 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
2752 measureUnitValue = MeasureUnit::getPermyriad();
2753 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
2754 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
2755 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
2756 measureUnitValue = MeasureUnit::getLiterPerKilometer();
2757 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
2758 measureUnitValue = MeasureUnit::getMilePerGallon();
2759 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
2760 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
2761 measureUnit.adoptInstead(MeasureUnit::createBit(status));
2762 measureUnitValue = MeasureUnit::getBit();
2763 measureUnit.adoptInstead(MeasureUnit::createByte(status));
2764 measureUnitValue = MeasureUnit::getByte();
2765 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
2766 measureUnitValue = MeasureUnit::getGigabit();
2767 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
2768 measureUnitValue = MeasureUnit::getGigabyte();
2769 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
2770 measureUnitValue = MeasureUnit::getKilobit();
2771 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
2772 measureUnitValue = MeasureUnit::getKilobyte();
2773 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
2774 measureUnitValue = MeasureUnit::getMegabit();
2775 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
2776 measureUnitValue = MeasureUnit::getMegabyte();
2777 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
2778 measureUnitValue = MeasureUnit::getPetabyte();
2779 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
2780 measureUnitValue = MeasureUnit::getTerabit();
2781 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
2782 measureUnitValue = MeasureUnit::getTerabyte();
2783 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
2784 measureUnitValue = MeasureUnit::getCentury();
2785 measureUnit.adoptInstead(MeasureUnit::createDay(status));
2786 measureUnitValue = MeasureUnit::getDay();
2787 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
2788 measureUnitValue = MeasureUnit::getDayPerson();
2789 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
2790 measureUnitValue = MeasureUnit::getDecade();
2791 measureUnit.adoptInstead(MeasureUnit::createHour(status));
2792 measureUnitValue = MeasureUnit::getHour();
2793 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
2794 measureUnitValue = MeasureUnit::getMicrosecond();
2795 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
2796 measureUnitValue = MeasureUnit::getMillisecond();
2797 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
2798 measureUnitValue = MeasureUnit::getMinute();
2799 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
2800 measureUnitValue = MeasureUnit::getMonth();
2801 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
2802 measureUnitValue = MeasureUnit::getMonthPerson();
2803 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
2804 measureUnitValue = MeasureUnit::getNanosecond();
2805 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
2806 measureUnitValue = MeasureUnit::getSecond();
2807 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
2808 measureUnitValue = MeasureUnit::getWeek();
2809 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
2810 measureUnitValue = MeasureUnit::getWeekPerson();
2811 measureUnit.adoptInstead(MeasureUnit::createYear(status));
2812 measureUnitValue = MeasureUnit::getYear();
2813 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
2814 measureUnitValue = MeasureUnit::getYearPerson();
2815 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
2816 measureUnitValue = MeasureUnit::getAmpere();
2817 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
2818 measureUnitValue = MeasureUnit::getMilliampere();
2819 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
2820 measureUnitValue = MeasureUnit::getOhm();
2821 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
2822 measureUnitValue = MeasureUnit::getVolt();
2823 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
2824 measureUnitValue = MeasureUnit::getBritishThermalUnit();
2825 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
2826 measureUnitValue = MeasureUnit::getCalorie();
2827 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
2828 measureUnitValue = MeasureUnit::getElectronvolt();
2829 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
2830 measureUnitValue = MeasureUnit::getFoodcalorie();
2831 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
2832 measureUnitValue = MeasureUnit::getJoule();
2833 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
2834 measureUnitValue = MeasureUnit::getKilocalorie();
2835 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
2836 measureUnitValue = MeasureUnit::getKilojoule();
2837 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
2838 measureUnitValue = MeasureUnit::getKilowattHour();
2839 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
2840 measureUnitValue = MeasureUnit::getThermUs();
2841 measureUnit.adoptInstead(MeasureUnit::createKilowattHourPer100Kilometer(status));
2842 measureUnitValue = MeasureUnit::getKilowattHourPer100Kilometer();
2843 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
2844 measureUnitValue = MeasureUnit::getNewton();
2845 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
2846 measureUnitValue = MeasureUnit::getPoundForce();
2847 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
2848 measureUnitValue = MeasureUnit::getGigahertz();
2849 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
2850 measureUnitValue = MeasureUnit::getHertz();
2851 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
2852 measureUnitValue = MeasureUnit::getKilohertz();
2853 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
2854 measureUnitValue = MeasureUnit::getMegahertz();
2855 measureUnit.adoptInstead(MeasureUnit::createDot(status));
2856 measureUnitValue = MeasureUnit::getDot();
2857 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
2858 measureUnitValue = MeasureUnit::getDotPerCentimeter();
2859 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
2860 measureUnitValue = MeasureUnit::getDotPerInch();
2861 measureUnit.adoptInstead(MeasureUnit::createEm(status));
2862 measureUnitValue = MeasureUnit::getEm();
2863 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
2864 measureUnitValue = MeasureUnit::getMegapixel();
2865 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
2866 measureUnitValue = MeasureUnit::getPixel();
2867 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
2868 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
2869 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
2870 measureUnitValue = MeasureUnit::getPixelPerInch();
2871 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
2872 measureUnitValue = MeasureUnit::getAstronomicalUnit();
2873 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
2874 measureUnitValue = MeasureUnit::getCentimeter();
2875 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
2876 measureUnitValue = MeasureUnit::getDecimeter();
2877 measureUnit.adoptInstead(MeasureUnit::createEarthRadius(status));
2878 measureUnitValue = MeasureUnit::getEarthRadius();
2879 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
2880 measureUnitValue = MeasureUnit::getFathom();
2881 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
2882 measureUnitValue = MeasureUnit::getFoot();
2883 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
2884 measureUnitValue = MeasureUnit::getFurlong();
2885 measureUnit.adoptInstead(MeasureUnit::createInch(status));
2886 measureUnitValue = MeasureUnit::getInch();
2887 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
2888 measureUnitValue = MeasureUnit::getKilometer();
2889 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
2890 measureUnitValue = MeasureUnit::getLightYear();
2891 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
2892 measureUnitValue = MeasureUnit::getMeter();
2893 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
2894 measureUnitValue = MeasureUnit::getMicrometer();
2895 measureUnit.adoptInstead(MeasureUnit::createMile(status));
2896 measureUnitValue = MeasureUnit::getMile();
2897 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
2898 measureUnitValue = MeasureUnit::getMileScandinavian();
2899 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
2900 measureUnitValue = MeasureUnit::getMillimeter();
2901 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
2902 measureUnitValue = MeasureUnit::getNanometer();
2903 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
2904 measureUnitValue = MeasureUnit::getNauticalMile();
2905 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
2906 measureUnitValue = MeasureUnit::getParsec();
2907 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
2908 measureUnitValue = MeasureUnit::getPicometer();
2909 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
2910 measureUnitValue = MeasureUnit::getPoint();
2911 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
2912 measureUnitValue = MeasureUnit::getSolarRadius();
2913 measureUnit.adoptInstead(MeasureUnit::createYard(status));
2914 measureUnitValue = MeasureUnit::getYard();
2915 measureUnit.adoptInstead(MeasureUnit::createCandela(status));
2916 measureUnitValue = MeasureUnit::getCandela();
2917 measureUnit.adoptInstead(MeasureUnit::createLumen(status));
2918 measureUnitValue = MeasureUnit::getLumen();
2919 measureUnit.adoptInstead(MeasureUnit::createLux(status));
2920 measureUnitValue = MeasureUnit::getLux();
2921 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
2922 measureUnitValue = MeasureUnit::getSolarLuminosity();
2923 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
2924 measureUnitValue = MeasureUnit::getCarat();
2925 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
2926 measureUnitValue = MeasureUnit::getDalton();
2927 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
2928 measureUnitValue = MeasureUnit::getEarthMass();
2929 measureUnit.adoptInstead(MeasureUnit::createGrain(status));
2930 measureUnitValue = MeasureUnit::getGrain();
2931 measureUnit.adoptInstead(MeasureUnit::createGram(status));
2932 measureUnitValue = MeasureUnit::getGram();
2933 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
2934 measureUnitValue = MeasureUnit::getKilogram();
2935 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
2936 measureUnitValue = MeasureUnit::getMetricTon();
2937 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
2938 measureUnitValue = MeasureUnit::getMicrogram();
2939 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
2940 measureUnitValue = MeasureUnit::getMilligram();
2941 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
2942 measureUnitValue = MeasureUnit::getOunce();
2943 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
2944 measureUnitValue = MeasureUnit::getOunceTroy();
2945 measureUnit.adoptInstead(MeasureUnit::createPound(status));
2946 measureUnitValue = MeasureUnit::getPound();
2947 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
2948 measureUnitValue = MeasureUnit::getSolarMass();
2949 measureUnit.adoptInstead(MeasureUnit::createStone(status));
2950 measureUnitValue = MeasureUnit::getStone();
2951 measureUnit.adoptInstead(MeasureUnit::createTon(status));
2952 measureUnitValue = MeasureUnit::getTon();
2953 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
2954 measureUnitValue = MeasureUnit::getGigawatt();
2955 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
2956 measureUnitValue = MeasureUnit::getHorsepower();
2957 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
2958 measureUnitValue = MeasureUnit::getKilowatt();
2959 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
2960 measureUnitValue = MeasureUnit::getMegawatt();
2961 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
2962 measureUnitValue = MeasureUnit::getMilliwatt();
2963 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
2964 measureUnitValue = MeasureUnit::getWatt();
2965 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
2966 measureUnitValue = MeasureUnit::getAtmosphere();
2967 measureUnit.adoptInstead(MeasureUnit::createBar(status));
2968 measureUnitValue = MeasureUnit::getBar();
2969 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
2970 measureUnitValue = MeasureUnit::getHectopascal();
2971 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
2972 measureUnitValue = MeasureUnit::getInchHg();
2973 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
2974 measureUnitValue = MeasureUnit::getKilopascal();
2975 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
2976 measureUnitValue = MeasureUnit::getMegapascal();
2977 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
2978 measureUnitValue = MeasureUnit::getMillibar();
2979 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
2980 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
2981 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
2982 measureUnitValue = MeasureUnit::getPascal();
2983 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
2984 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
2985 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
2986 measureUnitValue = MeasureUnit::getKilometerPerHour();
2987 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
2988 measureUnitValue = MeasureUnit::getKnot();
2989 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
2990 measureUnitValue = MeasureUnit::getMeterPerSecond();
2991 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
2992 measureUnitValue = MeasureUnit::getMilePerHour();
2993 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
2994 measureUnitValue = MeasureUnit::getCelsius();
2995 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
2996 measureUnitValue = MeasureUnit::getFahrenheit();
2997 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
2998 measureUnitValue = MeasureUnit::getGenericTemperature();
2999 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
3000 measureUnitValue = MeasureUnit::getKelvin();
3001 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
3002 measureUnitValue = MeasureUnit::getNewtonMeter();
3003 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
3004 measureUnitValue = MeasureUnit::getPoundFoot();
3005 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
3006 measureUnitValue = MeasureUnit::getAcreFoot();
3007 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
3008 measureUnitValue = MeasureUnit::getBarrel();
3009 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
3010 measureUnitValue = MeasureUnit::getBushel();
3011 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
3012 measureUnitValue = MeasureUnit::getCentiliter();
3013 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
3014 measureUnitValue = MeasureUnit::getCubicCentimeter();
3015 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
3016 measureUnitValue = MeasureUnit::getCubicFoot();
3017 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
3018 measureUnitValue = MeasureUnit::getCubicInch();
3019 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
3020 measureUnitValue = MeasureUnit::getCubicKilometer();
3021 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
3022 measureUnitValue = MeasureUnit::getCubicMeter();
3023 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
3024 measureUnitValue = MeasureUnit::getCubicMile();
3025 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
3026 measureUnitValue = MeasureUnit::getCubicYard();
3027 measureUnit.adoptInstead(MeasureUnit::createCup(status));
3028 measureUnitValue = MeasureUnit::getCup();
3029 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
3030 measureUnitValue = MeasureUnit::getCupMetric();
3031 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
3032 measureUnitValue = MeasureUnit::getDeciliter();
3033 measureUnit.adoptInstead(MeasureUnit::createDessertSpoon(status));
3034 measureUnitValue = MeasureUnit::getDessertSpoon();
3035 measureUnit.adoptInstead(MeasureUnit::createDessertSpoonImperial(status));
3036 measureUnitValue = MeasureUnit::getDessertSpoonImperial();
3037 measureUnit.adoptInstead(MeasureUnit::createDram(status));
3038 measureUnitValue = MeasureUnit::getDram();
3039 measureUnit.adoptInstead(MeasureUnit::createDrop(status));
3040 measureUnitValue = MeasureUnit::getDrop();
3041 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
3042 measureUnitValue = MeasureUnit::getFluidOunce();
3043 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
3044 measureUnitValue = MeasureUnit::getFluidOunceImperial();
3045 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
3046 measureUnitValue = MeasureUnit::getGallon();
3047 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
3048 measureUnitValue = MeasureUnit::getGallonImperial();
3049 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
3050 measureUnitValue = MeasureUnit::getHectoliter();
3051 measureUnit.adoptInstead(MeasureUnit::createJigger(status));
3052 measureUnitValue = MeasureUnit::getJigger();
3053 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
3054 measureUnitValue = MeasureUnit::getLiter();
3055 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
3056 measureUnitValue = MeasureUnit::getMegaliter();
3057 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
3058 measureUnitValue = MeasureUnit::getMilliliter();
3059 measureUnit.adoptInstead(MeasureUnit::createPinch(status));
3060 measureUnitValue = MeasureUnit::getPinch();
3061 measureUnit.adoptInstead(MeasureUnit::createPint(status));
3062 measureUnitValue = MeasureUnit::getPint();
3063 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
3064 measureUnitValue = MeasureUnit::getPintMetric();
3065 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
3066 measureUnitValue = MeasureUnit::getQuart();
3067 measureUnit.adoptInstead(MeasureUnit::createQuartImperial(status));
3068 measureUnitValue = MeasureUnit::getQuartImperial();
3069 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
3070 measureUnitValue = MeasureUnit::getTablespoon();
3071 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
3072 measureUnitValue = MeasureUnit::getTeaspoon();
3073 assertSuccess("", status);
3074 }
3075
3076 // TestCompatible71 would be identical to TestCompatible70,
3077 // no need to add it
3078
TestCompatible72()3079 void MeasureFormatTest::TestCompatible72() {
3080 UErrorCode status = U_ZERO_ERROR;
3081 LocalPointer<MeasureUnit> measureUnit;
3082 MeasureUnit measureUnitValue;
3083 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
3084 measureUnitValue = MeasureUnit::getGForce();
3085 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
3086 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
3087 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
3088 measureUnitValue = MeasureUnit::getArcMinute();
3089 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
3090 measureUnitValue = MeasureUnit::getArcSecond();
3091 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
3092 measureUnitValue = MeasureUnit::getDegree();
3093 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
3094 measureUnitValue = MeasureUnit::getRadian();
3095 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
3096 measureUnitValue = MeasureUnit::getRevolutionAngle();
3097 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
3098 measureUnitValue = MeasureUnit::getAcre();
3099 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
3100 measureUnitValue = MeasureUnit::getDunam();
3101 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
3102 measureUnitValue = MeasureUnit::getHectare();
3103 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
3104 measureUnitValue = MeasureUnit::getSquareCentimeter();
3105 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
3106 measureUnitValue = MeasureUnit::getSquareFoot();
3107 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
3108 measureUnitValue = MeasureUnit::getSquareInch();
3109 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
3110 measureUnitValue = MeasureUnit::getSquareKilometer();
3111 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
3112 measureUnitValue = MeasureUnit::getSquareMeter();
3113 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
3114 measureUnitValue = MeasureUnit::getSquareMile();
3115 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
3116 measureUnitValue = MeasureUnit::getSquareYard();
3117 measureUnit.adoptInstead(MeasureUnit::createItem(status));
3118 measureUnitValue = MeasureUnit::getItem();
3119 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
3120 measureUnitValue = MeasureUnit::getKarat();
3121 measureUnit.adoptInstead(MeasureUnit::createMilligramOfglucosePerDeciliter(status));
3122 measureUnitValue = MeasureUnit::getMilligramOfglucosePerDeciliter();
3123 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
3124 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
3125 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
3126 measureUnitValue = MeasureUnit::getMillimolePerLiter();
3127 measureUnit.adoptInstead(MeasureUnit::createMole(status));
3128 measureUnitValue = MeasureUnit::getMole();
3129 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
3130 measureUnitValue = MeasureUnit::getPercent();
3131 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
3132 measureUnitValue = MeasureUnit::getPermille();
3133 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
3134 measureUnitValue = MeasureUnit::getPartPerMillion();
3135 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
3136 measureUnitValue = MeasureUnit::getPermyriad();
3137 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
3138 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
3139 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
3140 measureUnitValue = MeasureUnit::getLiterPerKilometer();
3141 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
3142 measureUnitValue = MeasureUnit::getMilePerGallon();
3143 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
3144 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
3145 measureUnit.adoptInstead(MeasureUnit::createBit(status));
3146 measureUnitValue = MeasureUnit::getBit();
3147 measureUnit.adoptInstead(MeasureUnit::createByte(status));
3148 measureUnitValue = MeasureUnit::getByte();
3149 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
3150 measureUnitValue = MeasureUnit::getGigabit();
3151 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
3152 measureUnitValue = MeasureUnit::getGigabyte();
3153 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
3154 measureUnitValue = MeasureUnit::getKilobit();
3155 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
3156 measureUnitValue = MeasureUnit::getKilobyte();
3157 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
3158 measureUnitValue = MeasureUnit::getMegabit();
3159 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
3160 measureUnitValue = MeasureUnit::getMegabyte();
3161 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
3162 measureUnitValue = MeasureUnit::getPetabyte();
3163 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
3164 measureUnitValue = MeasureUnit::getTerabit();
3165 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
3166 measureUnitValue = MeasureUnit::getTerabyte();
3167 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
3168 measureUnitValue = MeasureUnit::getCentury();
3169 measureUnit.adoptInstead(MeasureUnit::createDay(status));
3170 measureUnitValue = MeasureUnit::getDay();
3171 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
3172 measureUnitValue = MeasureUnit::getDayPerson();
3173 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
3174 measureUnitValue = MeasureUnit::getDecade();
3175 measureUnit.adoptInstead(MeasureUnit::createHour(status));
3176 measureUnitValue = MeasureUnit::getHour();
3177 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
3178 measureUnitValue = MeasureUnit::getMicrosecond();
3179 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
3180 measureUnitValue = MeasureUnit::getMillisecond();
3181 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
3182 measureUnitValue = MeasureUnit::getMinute();
3183 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
3184 measureUnitValue = MeasureUnit::getMonth();
3185 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
3186 measureUnitValue = MeasureUnit::getMonthPerson();
3187 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
3188 measureUnitValue = MeasureUnit::getNanosecond();
3189 measureUnit.adoptInstead(MeasureUnit::createQuarter(status));
3190 measureUnitValue = MeasureUnit::getQuarter();
3191 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
3192 measureUnitValue = MeasureUnit::getSecond();
3193 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
3194 measureUnitValue = MeasureUnit::getWeek();
3195 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
3196 measureUnitValue = MeasureUnit::getWeekPerson();
3197 measureUnit.adoptInstead(MeasureUnit::createYear(status));
3198 measureUnitValue = MeasureUnit::getYear();
3199 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
3200 measureUnitValue = MeasureUnit::getYearPerson();
3201 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
3202 measureUnitValue = MeasureUnit::getAmpere();
3203 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
3204 measureUnitValue = MeasureUnit::getMilliampere();
3205 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
3206 measureUnitValue = MeasureUnit::getOhm();
3207 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
3208 measureUnitValue = MeasureUnit::getVolt();
3209 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
3210 measureUnitValue = MeasureUnit::getBritishThermalUnit();
3211 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
3212 measureUnitValue = MeasureUnit::getCalorie();
3213 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
3214 measureUnitValue = MeasureUnit::getElectronvolt();
3215 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
3216 measureUnitValue = MeasureUnit::getFoodcalorie();
3217 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
3218 measureUnitValue = MeasureUnit::getJoule();
3219 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
3220 measureUnitValue = MeasureUnit::getKilocalorie();
3221 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
3222 measureUnitValue = MeasureUnit::getKilojoule();
3223 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
3224 measureUnitValue = MeasureUnit::getKilowattHour();
3225 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
3226 measureUnitValue = MeasureUnit::getThermUs();
3227 measureUnit.adoptInstead(MeasureUnit::createKilowattHourPer100Kilometer(status));
3228 measureUnitValue = MeasureUnit::getKilowattHourPer100Kilometer();
3229 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
3230 measureUnitValue = MeasureUnit::getNewton();
3231 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
3232 measureUnitValue = MeasureUnit::getPoundForce();
3233 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
3234 measureUnitValue = MeasureUnit::getGigahertz();
3235 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
3236 measureUnitValue = MeasureUnit::getHertz();
3237 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
3238 measureUnitValue = MeasureUnit::getKilohertz();
3239 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
3240 measureUnitValue = MeasureUnit::getMegahertz();
3241 measureUnit.adoptInstead(MeasureUnit::createDot(status));
3242 measureUnitValue = MeasureUnit::getDot();
3243 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
3244 measureUnitValue = MeasureUnit::getDotPerCentimeter();
3245 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
3246 measureUnitValue = MeasureUnit::getDotPerInch();
3247 measureUnit.adoptInstead(MeasureUnit::createEm(status));
3248 measureUnitValue = MeasureUnit::getEm();
3249 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
3250 measureUnitValue = MeasureUnit::getMegapixel();
3251 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
3252 measureUnitValue = MeasureUnit::getPixel();
3253 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
3254 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
3255 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
3256 measureUnitValue = MeasureUnit::getPixelPerInch();
3257 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
3258 measureUnitValue = MeasureUnit::getAstronomicalUnit();
3259 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
3260 measureUnitValue = MeasureUnit::getCentimeter();
3261 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
3262 measureUnitValue = MeasureUnit::getDecimeter();
3263 measureUnit.adoptInstead(MeasureUnit::createEarthRadius(status));
3264 measureUnitValue = MeasureUnit::getEarthRadius();
3265 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
3266 measureUnitValue = MeasureUnit::getFathom();
3267 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
3268 measureUnitValue = MeasureUnit::getFoot();
3269 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
3270 measureUnitValue = MeasureUnit::getFurlong();
3271 measureUnit.adoptInstead(MeasureUnit::createInch(status));
3272 measureUnitValue = MeasureUnit::getInch();
3273 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
3274 measureUnitValue = MeasureUnit::getKilometer();
3275 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
3276 measureUnitValue = MeasureUnit::getLightYear();
3277 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
3278 measureUnitValue = MeasureUnit::getMeter();
3279 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
3280 measureUnitValue = MeasureUnit::getMicrometer();
3281 measureUnit.adoptInstead(MeasureUnit::createMile(status));
3282 measureUnitValue = MeasureUnit::getMile();
3283 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
3284 measureUnitValue = MeasureUnit::getMileScandinavian();
3285 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
3286 measureUnitValue = MeasureUnit::getMillimeter();
3287 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
3288 measureUnitValue = MeasureUnit::getNanometer();
3289 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
3290 measureUnitValue = MeasureUnit::getNauticalMile();
3291 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
3292 measureUnitValue = MeasureUnit::getParsec();
3293 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
3294 measureUnitValue = MeasureUnit::getPicometer();
3295 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
3296 measureUnitValue = MeasureUnit::getPoint();
3297 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
3298 measureUnitValue = MeasureUnit::getSolarRadius();
3299 measureUnit.adoptInstead(MeasureUnit::createYard(status));
3300 measureUnitValue = MeasureUnit::getYard();
3301 measureUnit.adoptInstead(MeasureUnit::createCandela(status));
3302 measureUnitValue = MeasureUnit::getCandela();
3303 measureUnit.adoptInstead(MeasureUnit::createLumen(status));
3304 measureUnitValue = MeasureUnit::getLumen();
3305 measureUnit.adoptInstead(MeasureUnit::createLux(status));
3306 measureUnitValue = MeasureUnit::getLux();
3307 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
3308 measureUnitValue = MeasureUnit::getSolarLuminosity();
3309 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
3310 measureUnitValue = MeasureUnit::getCarat();
3311 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
3312 measureUnitValue = MeasureUnit::getDalton();
3313 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
3314 measureUnitValue = MeasureUnit::getEarthMass();
3315 measureUnit.adoptInstead(MeasureUnit::createGrain(status));
3316 measureUnitValue = MeasureUnit::getGrain();
3317 measureUnit.adoptInstead(MeasureUnit::createGram(status));
3318 measureUnitValue = MeasureUnit::getGram();
3319 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
3320 measureUnitValue = MeasureUnit::getKilogram();
3321 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
3322 measureUnitValue = MeasureUnit::getMicrogram();
3323 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
3324 measureUnitValue = MeasureUnit::getMilligram();
3325 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
3326 measureUnitValue = MeasureUnit::getOunce();
3327 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
3328 measureUnitValue = MeasureUnit::getOunceTroy();
3329 measureUnit.adoptInstead(MeasureUnit::createPound(status));
3330 measureUnitValue = MeasureUnit::getPound();
3331 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
3332 measureUnitValue = MeasureUnit::getSolarMass();
3333 measureUnit.adoptInstead(MeasureUnit::createStone(status));
3334 measureUnitValue = MeasureUnit::getStone();
3335 measureUnit.adoptInstead(MeasureUnit::createTon(status));
3336 measureUnitValue = MeasureUnit::getTon();
3337 measureUnit.adoptInstead(MeasureUnit::createTonne(status));
3338 measureUnitValue = MeasureUnit::getTonne();
3339 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
3340 measureUnitValue = MeasureUnit::getGigawatt();
3341 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
3342 measureUnitValue = MeasureUnit::getHorsepower();
3343 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
3344 measureUnitValue = MeasureUnit::getKilowatt();
3345 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
3346 measureUnitValue = MeasureUnit::getMegawatt();
3347 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
3348 measureUnitValue = MeasureUnit::getMilliwatt();
3349 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
3350 measureUnitValue = MeasureUnit::getWatt();
3351 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
3352 measureUnitValue = MeasureUnit::getAtmosphere();
3353 measureUnit.adoptInstead(MeasureUnit::createBar(status));
3354 measureUnitValue = MeasureUnit::getBar();
3355 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
3356 measureUnitValue = MeasureUnit::getHectopascal();
3357 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
3358 measureUnitValue = MeasureUnit::getInchHg();
3359 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
3360 measureUnitValue = MeasureUnit::getKilopascal();
3361 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
3362 measureUnitValue = MeasureUnit::getMegapascal();
3363 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
3364 measureUnitValue = MeasureUnit::getMillibar();
3365 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
3366 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
3367 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
3368 measureUnitValue = MeasureUnit::getPascal();
3369 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
3370 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
3371 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
3372 measureUnitValue = MeasureUnit::getKilometerPerHour();
3373 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
3374 measureUnitValue = MeasureUnit::getKnot();
3375 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
3376 measureUnitValue = MeasureUnit::getMeterPerSecond();
3377 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
3378 measureUnitValue = MeasureUnit::getMilePerHour();
3379 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
3380 measureUnitValue = MeasureUnit::getCelsius();
3381 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
3382 measureUnitValue = MeasureUnit::getFahrenheit();
3383 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
3384 measureUnitValue = MeasureUnit::getGenericTemperature();
3385 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
3386 measureUnitValue = MeasureUnit::getKelvin();
3387 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
3388 measureUnitValue = MeasureUnit::getNewtonMeter();
3389 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
3390 measureUnitValue = MeasureUnit::getPoundFoot();
3391 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
3392 measureUnitValue = MeasureUnit::getAcreFoot();
3393 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
3394 measureUnitValue = MeasureUnit::getBarrel();
3395 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
3396 measureUnitValue = MeasureUnit::getBushel();
3397 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
3398 measureUnitValue = MeasureUnit::getCentiliter();
3399 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
3400 measureUnitValue = MeasureUnit::getCubicCentimeter();
3401 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
3402 measureUnitValue = MeasureUnit::getCubicFoot();
3403 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
3404 measureUnitValue = MeasureUnit::getCubicInch();
3405 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
3406 measureUnitValue = MeasureUnit::getCubicKilometer();
3407 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
3408 measureUnitValue = MeasureUnit::getCubicMeter();
3409 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
3410 measureUnitValue = MeasureUnit::getCubicMile();
3411 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
3412 measureUnitValue = MeasureUnit::getCubicYard();
3413 measureUnit.adoptInstead(MeasureUnit::createCup(status));
3414 measureUnitValue = MeasureUnit::getCup();
3415 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
3416 measureUnitValue = MeasureUnit::getCupMetric();
3417 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
3418 measureUnitValue = MeasureUnit::getDeciliter();
3419 measureUnit.adoptInstead(MeasureUnit::createDessertSpoon(status));
3420 measureUnitValue = MeasureUnit::getDessertSpoon();
3421 measureUnit.adoptInstead(MeasureUnit::createDessertSpoonImperial(status));
3422 measureUnitValue = MeasureUnit::getDessertSpoonImperial();
3423 measureUnit.adoptInstead(MeasureUnit::createDram(status));
3424 measureUnitValue = MeasureUnit::getDram();
3425 measureUnit.adoptInstead(MeasureUnit::createDrop(status));
3426 measureUnitValue = MeasureUnit::getDrop();
3427 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
3428 measureUnitValue = MeasureUnit::getFluidOunce();
3429 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
3430 measureUnitValue = MeasureUnit::getFluidOunceImperial();
3431 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
3432 measureUnitValue = MeasureUnit::getGallon();
3433 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
3434 measureUnitValue = MeasureUnit::getGallonImperial();
3435 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
3436 measureUnitValue = MeasureUnit::getHectoliter();
3437 measureUnit.adoptInstead(MeasureUnit::createJigger(status));
3438 measureUnitValue = MeasureUnit::getJigger();
3439 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
3440 measureUnitValue = MeasureUnit::getLiter();
3441 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
3442 measureUnitValue = MeasureUnit::getMegaliter();
3443 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
3444 measureUnitValue = MeasureUnit::getMilliliter();
3445 measureUnit.adoptInstead(MeasureUnit::createPinch(status));
3446 measureUnitValue = MeasureUnit::getPinch();
3447 measureUnit.adoptInstead(MeasureUnit::createPint(status));
3448 measureUnitValue = MeasureUnit::getPint();
3449 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
3450 measureUnitValue = MeasureUnit::getPintMetric();
3451 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
3452 measureUnitValue = MeasureUnit::getQuart();
3453 measureUnit.adoptInstead(MeasureUnit::createQuartImperial(status));
3454 measureUnitValue = MeasureUnit::getQuartImperial();
3455 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
3456 measureUnitValue = MeasureUnit::getTablespoon();
3457 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
3458 measureUnitValue = MeasureUnit::getTeaspoon();
3459 assertSuccess("", status);
3460 }
3461
TestCompatible73()3462 void MeasureFormatTest::TestCompatible73() {
3463 UErrorCode status = U_ZERO_ERROR;
3464 LocalPointer<MeasureUnit> measureUnit;
3465 MeasureUnit measureUnitValue;
3466 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
3467 measureUnitValue = MeasureUnit::getGForce();
3468 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
3469 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
3470 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
3471 measureUnitValue = MeasureUnit::getArcMinute();
3472 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
3473 measureUnitValue = MeasureUnit::getArcSecond();
3474 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
3475 measureUnitValue = MeasureUnit::getDegree();
3476 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
3477 measureUnitValue = MeasureUnit::getRadian();
3478 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
3479 measureUnitValue = MeasureUnit::getRevolutionAngle();
3480 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
3481 measureUnitValue = MeasureUnit::getAcre();
3482 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
3483 measureUnitValue = MeasureUnit::getDunam();
3484 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
3485 measureUnitValue = MeasureUnit::getHectare();
3486 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
3487 measureUnitValue = MeasureUnit::getSquareCentimeter();
3488 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
3489 measureUnitValue = MeasureUnit::getSquareFoot();
3490 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
3491 measureUnitValue = MeasureUnit::getSquareInch();
3492 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
3493 measureUnitValue = MeasureUnit::getSquareKilometer();
3494 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
3495 measureUnitValue = MeasureUnit::getSquareMeter();
3496 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
3497 measureUnitValue = MeasureUnit::getSquareMile();
3498 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
3499 measureUnitValue = MeasureUnit::getSquareYard();
3500 measureUnit.adoptInstead(MeasureUnit::createItem(status));
3501 measureUnitValue = MeasureUnit::getItem();
3502 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
3503 measureUnitValue = MeasureUnit::getKarat();
3504 measureUnit.adoptInstead(MeasureUnit::createMilligramOfglucosePerDeciliter(status));
3505 measureUnitValue = MeasureUnit::getMilligramOfglucosePerDeciliter();
3506 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
3507 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
3508 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
3509 measureUnitValue = MeasureUnit::getMillimolePerLiter();
3510 measureUnit.adoptInstead(MeasureUnit::createMole(status));
3511 measureUnitValue = MeasureUnit::getMole();
3512 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
3513 measureUnitValue = MeasureUnit::getPercent();
3514 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
3515 measureUnitValue = MeasureUnit::getPermille();
3516 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
3517 measureUnitValue = MeasureUnit::getPartPerMillion();
3518 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
3519 measureUnitValue = MeasureUnit::getPermyriad();
3520 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
3521 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
3522 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
3523 measureUnitValue = MeasureUnit::getLiterPerKilometer();
3524 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
3525 measureUnitValue = MeasureUnit::getMilePerGallon();
3526 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
3527 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
3528 measureUnit.adoptInstead(MeasureUnit::createBit(status));
3529 measureUnitValue = MeasureUnit::getBit();
3530 measureUnit.adoptInstead(MeasureUnit::createByte(status));
3531 measureUnitValue = MeasureUnit::getByte();
3532 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
3533 measureUnitValue = MeasureUnit::getGigabit();
3534 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
3535 measureUnitValue = MeasureUnit::getGigabyte();
3536 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
3537 measureUnitValue = MeasureUnit::getKilobit();
3538 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
3539 measureUnitValue = MeasureUnit::getKilobyte();
3540 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
3541 measureUnitValue = MeasureUnit::getMegabit();
3542 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
3543 measureUnitValue = MeasureUnit::getMegabyte();
3544 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
3545 measureUnitValue = MeasureUnit::getPetabyte();
3546 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
3547 measureUnitValue = MeasureUnit::getTerabit();
3548 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
3549 measureUnitValue = MeasureUnit::getTerabyte();
3550 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
3551 measureUnitValue = MeasureUnit::getCentury();
3552 measureUnit.adoptInstead(MeasureUnit::createDay(status));
3553 measureUnitValue = MeasureUnit::getDay();
3554 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
3555 measureUnitValue = MeasureUnit::getDayPerson();
3556 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
3557 measureUnitValue = MeasureUnit::getDecade();
3558 measureUnit.adoptInstead(MeasureUnit::createHour(status));
3559 measureUnitValue = MeasureUnit::getHour();
3560 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
3561 measureUnitValue = MeasureUnit::getMicrosecond();
3562 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
3563 measureUnitValue = MeasureUnit::getMillisecond();
3564 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
3565 measureUnitValue = MeasureUnit::getMinute();
3566 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
3567 measureUnitValue = MeasureUnit::getMonth();
3568 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
3569 measureUnitValue = MeasureUnit::getMonthPerson();
3570 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
3571 measureUnitValue = MeasureUnit::getNanosecond();
3572 measureUnit.adoptInstead(MeasureUnit::createQuarter(status));
3573 measureUnitValue = MeasureUnit::getQuarter();
3574 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
3575 measureUnitValue = MeasureUnit::getSecond();
3576 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
3577 measureUnitValue = MeasureUnit::getWeek();
3578 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
3579 measureUnitValue = MeasureUnit::getWeekPerson();
3580 measureUnit.adoptInstead(MeasureUnit::createYear(status));
3581 measureUnitValue = MeasureUnit::getYear();
3582 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
3583 measureUnitValue = MeasureUnit::getYearPerson();
3584 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
3585 measureUnitValue = MeasureUnit::getAmpere();
3586 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
3587 measureUnitValue = MeasureUnit::getMilliampere();
3588 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
3589 measureUnitValue = MeasureUnit::getOhm();
3590 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
3591 measureUnitValue = MeasureUnit::getVolt();
3592 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
3593 measureUnitValue = MeasureUnit::getBritishThermalUnit();
3594 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
3595 measureUnitValue = MeasureUnit::getCalorie();
3596 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
3597 measureUnitValue = MeasureUnit::getElectronvolt();
3598 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
3599 measureUnitValue = MeasureUnit::getFoodcalorie();
3600 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
3601 measureUnitValue = MeasureUnit::getJoule();
3602 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
3603 measureUnitValue = MeasureUnit::getKilocalorie();
3604 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
3605 measureUnitValue = MeasureUnit::getKilojoule();
3606 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
3607 measureUnitValue = MeasureUnit::getKilowattHour();
3608 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
3609 measureUnitValue = MeasureUnit::getThermUs();
3610 measureUnit.adoptInstead(MeasureUnit::createKilowattHourPer100Kilometer(status));
3611 measureUnitValue = MeasureUnit::getKilowattHourPer100Kilometer();
3612 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
3613 measureUnitValue = MeasureUnit::getNewton();
3614 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
3615 measureUnitValue = MeasureUnit::getPoundForce();
3616 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
3617 measureUnitValue = MeasureUnit::getGigahertz();
3618 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
3619 measureUnitValue = MeasureUnit::getHertz();
3620 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
3621 measureUnitValue = MeasureUnit::getKilohertz();
3622 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
3623 measureUnitValue = MeasureUnit::getMegahertz();
3624 measureUnit.adoptInstead(MeasureUnit::createDot(status));
3625 measureUnitValue = MeasureUnit::getDot();
3626 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
3627 measureUnitValue = MeasureUnit::getDotPerCentimeter();
3628 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
3629 measureUnitValue = MeasureUnit::getDotPerInch();
3630 measureUnit.adoptInstead(MeasureUnit::createEm(status));
3631 measureUnitValue = MeasureUnit::getEm();
3632 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
3633 measureUnitValue = MeasureUnit::getMegapixel();
3634 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
3635 measureUnitValue = MeasureUnit::getPixel();
3636 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
3637 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
3638 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
3639 measureUnitValue = MeasureUnit::getPixelPerInch();
3640 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
3641 measureUnitValue = MeasureUnit::getAstronomicalUnit();
3642 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
3643 measureUnitValue = MeasureUnit::getCentimeter();
3644 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
3645 measureUnitValue = MeasureUnit::getDecimeter();
3646 measureUnit.adoptInstead(MeasureUnit::createEarthRadius(status));
3647 measureUnitValue = MeasureUnit::getEarthRadius();
3648 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
3649 measureUnitValue = MeasureUnit::getFathom();
3650 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
3651 measureUnitValue = MeasureUnit::getFoot();
3652 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
3653 measureUnitValue = MeasureUnit::getFurlong();
3654 measureUnit.adoptInstead(MeasureUnit::createInch(status));
3655 measureUnitValue = MeasureUnit::getInch();
3656 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
3657 measureUnitValue = MeasureUnit::getKilometer();
3658 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
3659 measureUnitValue = MeasureUnit::getLightYear();
3660 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
3661 measureUnitValue = MeasureUnit::getMeter();
3662 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
3663 measureUnitValue = MeasureUnit::getMicrometer();
3664 measureUnit.adoptInstead(MeasureUnit::createMile(status));
3665 measureUnitValue = MeasureUnit::getMile();
3666 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
3667 measureUnitValue = MeasureUnit::getMileScandinavian();
3668 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
3669 measureUnitValue = MeasureUnit::getMillimeter();
3670 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
3671 measureUnitValue = MeasureUnit::getNanometer();
3672 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
3673 measureUnitValue = MeasureUnit::getNauticalMile();
3674 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
3675 measureUnitValue = MeasureUnit::getParsec();
3676 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
3677 measureUnitValue = MeasureUnit::getPicometer();
3678 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
3679 measureUnitValue = MeasureUnit::getPoint();
3680 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
3681 measureUnitValue = MeasureUnit::getSolarRadius();
3682 measureUnit.adoptInstead(MeasureUnit::createYard(status));
3683 measureUnitValue = MeasureUnit::getYard();
3684 measureUnit.adoptInstead(MeasureUnit::createCandela(status));
3685 measureUnitValue = MeasureUnit::getCandela();
3686 measureUnit.adoptInstead(MeasureUnit::createLumen(status));
3687 measureUnitValue = MeasureUnit::getLumen();
3688 measureUnit.adoptInstead(MeasureUnit::createLux(status));
3689 measureUnitValue = MeasureUnit::getLux();
3690 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
3691 measureUnitValue = MeasureUnit::getSolarLuminosity();
3692 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
3693 measureUnitValue = MeasureUnit::getCarat();
3694 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
3695 measureUnitValue = MeasureUnit::getDalton();
3696 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
3697 measureUnitValue = MeasureUnit::getEarthMass();
3698 measureUnit.adoptInstead(MeasureUnit::createGrain(status));
3699 measureUnitValue = MeasureUnit::getGrain();
3700 measureUnit.adoptInstead(MeasureUnit::createGram(status));
3701 measureUnitValue = MeasureUnit::getGram();
3702 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
3703 measureUnitValue = MeasureUnit::getKilogram();
3704 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
3705 measureUnitValue = MeasureUnit::getMicrogram();
3706 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
3707 measureUnitValue = MeasureUnit::getMilligram();
3708 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
3709 measureUnitValue = MeasureUnit::getOunce();
3710 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
3711 measureUnitValue = MeasureUnit::getOunceTroy();
3712 measureUnit.adoptInstead(MeasureUnit::createPound(status));
3713 measureUnitValue = MeasureUnit::getPound();
3714 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
3715 measureUnitValue = MeasureUnit::getSolarMass();
3716 measureUnit.adoptInstead(MeasureUnit::createStone(status));
3717 measureUnitValue = MeasureUnit::getStone();
3718 measureUnit.adoptInstead(MeasureUnit::createTon(status));
3719 measureUnitValue = MeasureUnit::getTon();
3720 measureUnit.adoptInstead(MeasureUnit::createTonne(status));
3721 measureUnitValue = MeasureUnit::getTonne();
3722 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
3723 measureUnitValue = MeasureUnit::getGigawatt();
3724 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
3725 measureUnitValue = MeasureUnit::getHorsepower();
3726 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
3727 measureUnitValue = MeasureUnit::getKilowatt();
3728 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
3729 measureUnitValue = MeasureUnit::getMegawatt();
3730 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
3731 measureUnitValue = MeasureUnit::getMilliwatt();
3732 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
3733 measureUnitValue = MeasureUnit::getWatt();
3734 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
3735 measureUnitValue = MeasureUnit::getAtmosphere();
3736 measureUnit.adoptInstead(MeasureUnit::createBar(status));
3737 measureUnitValue = MeasureUnit::getBar();
3738 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
3739 measureUnitValue = MeasureUnit::getHectopascal();
3740 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
3741 measureUnitValue = MeasureUnit::getInchHg();
3742 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
3743 measureUnitValue = MeasureUnit::getKilopascal();
3744 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
3745 measureUnitValue = MeasureUnit::getMegapascal();
3746 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
3747 measureUnitValue = MeasureUnit::getMillibar();
3748 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
3749 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
3750 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
3751 measureUnitValue = MeasureUnit::getPascal();
3752 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
3753 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
3754 measureUnit.adoptInstead(MeasureUnit::createBeaufort(status));
3755 measureUnitValue = MeasureUnit::getBeaufort();
3756 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
3757 measureUnitValue = MeasureUnit::getKilometerPerHour();
3758 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
3759 measureUnitValue = MeasureUnit::getKnot();
3760 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
3761 measureUnitValue = MeasureUnit::getMeterPerSecond();
3762 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
3763 measureUnitValue = MeasureUnit::getMilePerHour();
3764 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
3765 measureUnitValue = MeasureUnit::getCelsius();
3766 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
3767 measureUnitValue = MeasureUnit::getFahrenheit();
3768 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
3769 measureUnitValue = MeasureUnit::getGenericTemperature();
3770 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
3771 measureUnitValue = MeasureUnit::getKelvin();
3772 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
3773 measureUnitValue = MeasureUnit::getNewtonMeter();
3774 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
3775 measureUnitValue = MeasureUnit::getPoundFoot();
3776 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
3777 measureUnitValue = MeasureUnit::getAcreFoot();
3778 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
3779 measureUnitValue = MeasureUnit::getBarrel();
3780 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
3781 measureUnitValue = MeasureUnit::getBushel();
3782 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
3783 measureUnitValue = MeasureUnit::getCentiliter();
3784 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
3785 measureUnitValue = MeasureUnit::getCubicCentimeter();
3786 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
3787 measureUnitValue = MeasureUnit::getCubicFoot();
3788 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
3789 measureUnitValue = MeasureUnit::getCubicInch();
3790 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
3791 measureUnitValue = MeasureUnit::getCubicKilometer();
3792 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
3793 measureUnitValue = MeasureUnit::getCubicMeter();
3794 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
3795 measureUnitValue = MeasureUnit::getCubicMile();
3796 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
3797 measureUnitValue = MeasureUnit::getCubicYard();
3798 measureUnit.adoptInstead(MeasureUnit::createCup(status));
3799 measureUnitValue = MeasureUnit::getCup();
3800 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
3801 measureUnitValue = MeasureUnit::getCupMetric();
3802 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
3803 measureUnitValue = MeasureUnit::getDeciliter();
3804 measureUnit.adoptInstead(MeasureUnit::createDessertSpoon(status));
3805 measureUnitValue = MeasureUnit::getDessertSpoon();
3806 measureUnit.adoptInstead(MeasureUnit::createDessertSpoonImperial(status));
3807 measureUnitValue = MeasureUnit::getDessertSpoonImperial();
3808 measureUnit.adoptInstead(MeasureUnit::createDram(status));
3809 measureUnitValue = MeasureUnit::getDram();
3810 measureUnit.adoptInstead(MeasureUnit::createDrop(status));
3811 measureUnitValue = MeasureUnit::getDrop();
3812 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
3813 measureUnitValue = MeasureUnit::getFluidOunce();
3814 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
3815 measureUnitValue = MeasureUnit::getFluidOunceImperial();
3816 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
3817 measureUnitValue = MeasureUnit::getGallon();
3818 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
3819 measureUnitValue = MeasureUnit::getGallonImperial();
3820 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
3821 measureUnitValue = MeasureUnit::getHectoliter();
3822 measureUnit.adoptInstead(MeasureUnit::createJigger(status));
3823 measureUnitValue = MeasureUnit::getJigger();
3824 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
3825 measureUnitValue = MeasureUnit::getLiter();
3826 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
3827 measureUnitValue = MeasureUnit::getMegaliter();
3828 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
3829 measureUnitValue = MeasureUnit::getMilliliter();
3830 measureUnit.adoptInstead(MeasureUnit::createPinch(status));
3831 measureUnitValue = MeasureUnit::getPinch();
3832 measureUnit.adoptInstead(MeasureUnit::createPint(status));
3833 measureUnitValue = MeasureUnit::getPint();
3834 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
3835 measureUnitValue = MeasureUnit::getPintMetric();
3836 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
3837 measureUnitValue = MeasureUnit::getQuart();
3838 measureUnit.adoptInstead(MeasureUnit::createQuartImperial(status));
3839 measureUnitValue = MeasureUnit::getQuartImperial();
3840 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
3841 measureUnitValue = MeasureUnit::getTablespoon();
3842 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
3843 measureUnitValue = MeasureUnit::getTeaspoon();
3844 assertSuccess("", status);
3845 }
3846
TestCompatible74()3847 void MeasureFormatTest::TestCompatible74() {
3848 UErrorCode status = U_ZERO_ERROR;
3849 LocalPointer<MeasureUnit> measureUnit;
3850 MeasureUnit measureUnitValue;
3851 measureUnit.adoptInstead(MeasureUnit::createGForce(status));
3852 measureUnitValue = MeasureUnit::getGForce();
3853 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
3854 measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
3855 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
3856 measureUnitValue = MeasureUnit::getArcMinute();
3857 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
3858 measureUnitValue = MeasureUnit::getArcSecond();
3859 measureUnit.adoptInstead(MeasureUnit::createDegree(status));
3860 measureUnitValue = MeasureUnit::getDegree();
3861 measureUnit.adoptInstead(MeasureUnit::createRadian(status));
3862 measureUnitValue = MeasureUnit::getRadian();
3863 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
3864 measureUnitValue = MeasureUnit::getRevolutionAngle();
3865 measureUnit.adoptInstead(MeasureUnit::createAcre(status));
3866 measureUnitValue = MeasureUnit::getAcre();
3867 measureUnit.adoptInstead(MeasureUnit::createDunam(status));
3868 measureUnitValue = MeasureUnit::getDunam();
3869 measureUnit.adoptInstead(MeasureUnit::createHectare(status));
3870 measureUnitValue = MeasureUnit::getHectare();
3871 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
3872 measureUnitValue = MeasureUnit::getSquareCentimeter();
3873 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
3874 measureUnitValue = MeasureUnit::getSquareFoot();
3875 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
3876 measureUnitValue = MeasureUnit::getSquareInch();
3877 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
3878 measureUnitValue = MeasureUnit::getSquareKilometer();
3879 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
3880 measureUnitValue = MeasureUnit::getSquareMeter();
3881 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
3882 measureUnitValue = MeasureUnit::getSquareMile();
3883 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
3884 measureUnitValue = MeasureUnit::getSquareYard();
3885 measureUnit.adoptInstead(MeasureUnit::createItem(status));
3886 measureUnitValue = MeasureUnit::getItem();
3887 measureUnit.adoptInstead(MeasureUnit::createKarat(status));
3888 measureUnitValue = MeasureUnit::getKarat();
3889 measureUnit.adoptInstead(MeasureUnit::createMilligramOfglucosePerDeciliter(status));
3890 measureUnitValue = MeasureUnit::getMilligramOfglucosePerDeciliter();
3891 measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
3892 measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
3893 measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
3894 measureUnitValue = MeasureUnit::getMillimolePerLiter();
3895 measureUnit.adoptInstead(MeasureUnit::createMole(status));
3896 measureUnitValue = MeasureUnit::getMole();
3897 measureUnit.adoptInstead(MeasureUnit::createPercent(status));
3898 measureUnitValue = MeasureUnit::getPercent();
3899 measureUnit.adoptInstead(MeasureUnit::createPermille(status));
3900 measureUnitValue = MeasureUnit::getPermille();
3901 measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
3902 measureUnitValue = MeasureUnit::getPartPerMillion();
3903 measureUnit.adoptInstead(MeasureUnit::createPermyriad(status));
3904 measureUnitValue = MeasureUnit::getPermyriad();
3905 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
3906 measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
3907 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
3908 measureUnitValue = MeasureUnit::getLiterPerKilometer();
3909 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
3910 measureUnitValue = MeasureUnit::getMilePerGallon();
3911 measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
3912 measureUnitValue = MeasureUnit::getMilePerGallonImperial();
3913 measureUnit.adoptInstead(MeasureUnit::createBit(status));
3914 measureUnitValue = MeasureUnit::getBit();
3915 measureUnit.adoptInstead(MeasureUnit::createByte(status));
3916 measureUnitValue = MeasureUnit::getByte();
3917 measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
3918 measureUnitValue = MeasureUnit::getGigabit();
3919 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
3920 measureUnitValue = MeasureUnit::getGigabyte();
3921 measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
3922 measureUnitValue = MeasureUnit::getKilobit();
3923 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
3924 measureUnitValue = MeasureUnit::getKilobyte();
3925 measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
3926 measureUnitValue = MeasureUnit::getMegabit();
3927 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
3928 measureUnitValue = MeasureUnit::getMegabyte();
3929 measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
3930 measureUnitValue = MeasureUnit::getPetabyte();
3931 measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
3932 measureUnitValue = MeasureUnit::getTerabit();
3933 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
3934 measureUnitValue = MeasureUnit::getTerabyte();
3935 measureUnit.adoptInstead(MeasureUnit::createCentury(status));
3936 measureUnitValue = MeasureUnit::getCentury();
3937 measureUnit.adoptInstead(MeasureUnit::createDay(status));
3938 measureUnitValue = MeasureUnit::getDay();
3939 measureUnit.adoptInstead(MeasureUnit::createDayPerson(status));
3940 measureUnitValue = MeasureUnit::getDayPerson();
3941 measureUnit.adoptInstead(MeasureUnit::createDecade(status));
3942 measureUnitValue = MeasureUnit::getDecade();
3943 measureUnit.adoptInstead(MeasureUnit::createHour(status));
3944 measureUnitValue = MeasureUnit::getHour();
3945 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
3946 measureUnitValue = MeasureUnit::getMicrosecond();
3947 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
3948 measureUnitValue = MeasureUnit::getMillisecond();
3949 measureUnit.adoptInstead(MeasureUnit::createMinute(status));
3950 measureUnitValue = MeasureUnit::getMinute();
3951 measureUnit.adoptInstead(MeasureUnit::createMonth(status));
3952 measureUnitValue = MeasureUnit::getMonth();
3953 measureUnit.adoptInstead(MeasureUnit::createMonthPerson(status));
3954 measureUnitValue = MeasureUnit::getMonthPerson();
3955 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
3956 measureUnitValue = MeasureUnit::getNanosecond();
3957 measureUnit.adoptInstead(MeasureUnit::createQuarter(status));
3958 measureUnitValue = MeasureUnit::getQuarter();
3959 measureUnit.adoptInstead(MeasureUnit::createSecond(status));
3960 measureUnitValue = MeasureUnit::getSecond();
3961 measureUnit.adoptInstead(MeasureUnit::createWeek(status));
3962 measureUnitValue = MeasureUnit::getWeek();
3963 measureUnit.adoptInstead(MeasureUnit::createWeekPerson(status));
3964 measureUnitValue = MeasureUnit::getWeekPerson();
3965 measureUnit.adoptInstead(MeasureUnit::createYear(status));
3966 measureUnitValue = MeasureUnit::getYear();
3967 measureUnit.adoptInstead(MeasureUnit::createYearPerson(status));
3968 measureUnitValue = MeasureUnit::getYearPerson();
3969 measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
3970 measureUnitValue = MeasureUnit::getAmpere();
3971 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
3972 measureUnitValue = MeasureUnit::getMilliampere();
3973 measureUnit.adoptInstead(MeasureUnit::createOhm(status));
3974 measureUnitValue = MeasureUnit::getOhm();
3975 measureUnit.adoptInstead(MeasureUnit::createVolt(status));
3976 measureUnitValue = MeasureUnit::getVolt();
3977 measureUnit.adoptInstead(MeasureUnit::createBritishThermalUnit(status));
3978 measureUnitValue = MeasureUnit::getBritishThermalUnit();
3979 measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
3980 measureUnitValue = MeasureUnit::getCalorie();
3981 measureUnit.adoptInstead(MeasureUnit::createElectronvolt(status));
3982 measureUnitValue = MeasureUnit::getElectronvolt();
3983 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
3984 measureUnitValue = MeasureUnit::getFoodcalorie();
3985 measureUnit.adoptInstead(MeasureUnit::createJoule(status));
3986 measureUnitValue = MeasureUnit::getJoule();
3987 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
3988 measureUnitValue = MeasureUnit::getKilocalorie();
3989 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
3990 measureUnitValue = MeasureUnit::getKilojoule();
3991 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
3992 measureUnitValue = MeasureUnit::getKilowattHour();
3993 measureUnit.adoptInstead(MeasureUnit::createThermUs(status));
3994 measureUnitValue = MeasureUnit::getThermUs();
3995 measureUnit.adoptInstead(MeasureUnit::createKilowattHourPer100Kilometer(status));
3996 measureUnitValue = MeasureUnit::getKilowattHourPer100Kilometer();
3997 measureUnit.adoptInstead(MeasureUnit::createNewton(status));
3998 measureUnitValue = MeasureUnit::getNewton();
3999 measureUnit.adoptInstead(MeasureUnit::createPoundForce(status));
4000 measureUnitValue = MeasureUnit::getPoundForce();
4001 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
4002 measureUnitValue = MeasureUnit::getGigahertz();
4003 measureUnit.adoptInstead(MeasureUnit::createHertz(status));
4004 measureUnitValue = MeasureUnit::getHertz();
4005 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
4006 measureUnitValue = MeasureUnit::getKilohertz();
4007 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
4008 measureUnitValue = MeasureUnit::getMegahertz();
4009 measureUnit.adoptInstead(MeasureUnit::createDot(status));
4010 measureUnitValue = MeasureUnit::getDot();
4011 measureUnit.adoptInstead(MeasureUnit::createDotPerCentimeter(status));
4012 measureUnitValue = MeasureUnit::getDotPerCentimeter();
4013 measureUnit.adoptInstead(MeasureUnit::createDotPerInch(status));
4014 measureUnitValue = MeasureUnit::getDotPerInch();
4015 measureUnit.adoptInstead(MeasureUnit::createEm(status));
4016 measureUnitValue = MeasureUnit::getEm();
4017 measureUnit.adoptInstead(MeasureUnit::createMegapixel(status));
4018 measureUnitValue = MeasureUnit::getMegapixel();
4019 measureUnit.adoptInstead(MeasureUnit::createPixel(status));
4020 measureUnitValue = MeasureUnit::getPixel();
4021 measureUnit.adoptInstead(MeasureUnit::createPixelPerCentimeter(status));
4022 measureUnitValue = MeasureUnit::getPixelPerCentimeter();
4023 measureUnit.adoptInstead(MeasureUnit::createPixelPerInch(status));
4024 measureUnitValue = MeasureUnit::getPixelPerInch();
4025 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
4026 measureUnitValue = MeasureUnit::getAstronomicalUnit();
4027 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
4028 measureUnitValue = MeasureUnit::getCentimeter();
4029 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
4030 measureUnitValue = MeasureUnit::getDecimeter();
4031 measureUnit.adoptInstead(MeasureUnit::createEarthRadius(status));
4032 measureUnitValue = MeasureUnit::getEarthRadius();
4033 measureUnit.adoptInstead(MeasureUnit::createFathom(status));
4034 measureUnitValue = MeasureUnit::getFathom();
4035 measureUnit.adoptInstead(MeasureUnit::createFoot(status));
4036 measureUnitValue = MeasureUnit::getFoot();
4037 measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
4038 measureUnitValue = MeasureUnit::getFurlong();
4039 measureUnit.adoptInstead(MeasureUnit::createInch(status));
4040 measureUnitValue = MeasureUnit::getInch();
4041 measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
4042 measureUnitValue = MeasureUnit::getKilometer();
4043 measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
4044 measureUnitValue = MeasureUnit::getLightYear();
4045 measureUnit.adoptInstead(MeasureUnit::createMeter(status));
4046 measureUnitValue = MeasureUnit::getMeter();
4047 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
4048 measureUnitValue = MeasureUnit::getMicrometer();
4049 measureUnit.adoptInstead(MeasureUnit::createMile(status));
4050 measureUnitValue = MeasureUnit::getMile();
4051 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
4052 measureUnitValue = MeasureUnit::getMileScandinavian();
4053 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
4054 measureUnitValue = MeasureUnit::getMillimeter();
4055 measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
4056 measureUnitValue = MeasureUnit::getNanometer();
4057 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
4058 measureUnitValue = MeasureUnit::getNauticalMile();
4059 measureUnit.adoptInstead(MeasureUnit::createParsec(status));
4060 measureUnitValue = MeasureUnit::getParsec();
4061 measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
4062 measureUnitValue = MeasureUnit::getPicometer();
4063 measureUnit.adoptInstead(MeasureUnit::createPoint(status));
4064 measureUnitValue = MeasureUnit::getPoint();
4065 measureUnit.adoptInstead(MeasureUnit::createSolarRadius(status));
4066 measureUnitValue = MeasureUnit::getSolarRadius();
4067 measureUnit.adoptInstead(MeasureUnit::createYard(status));
4068 measureUnitValue = MeasureUnit::getYard();
4069 measureUnit.adoptInstead(MeasureUnit::createCandela(status));
4070 measureUnitValue = MeasureUnit::getCandela();
4071 measureUnit.adoptInstead(MeasureUnit::createLumen(status));
4072 measureUnitValue = MeasureUnit::getLumen();
4073 measureUnit.adoptInstead(MeasureUnit::createLux(status));
4074 measureUnitValue = MeasureUnit::getLux();
4075 measureUnit.adoptInstead(MeasureUnit::createSolarLuminosity(status));
4076 measureUnitValue = MeasureUnit::getSolarLuminosity();
4077 measureUnit.adoptInstead(MeasureUnit::createCarat(status));
4078 measureUnitValue = MeasureUnit::getCarat();
4079 measureUnit.adoptInstead(MeasureUnit::createDalton(status));
4080 measureUnitValue = MeasureUnit::getDalton();
4081 measureUnit.adoptInstead(MeasureUnit::createEarthMass(status));
4082 measureUnitValue = MeasureUnit::getEarthMass();
4083 measureUnit.adoptInstead(MeasureUnit::createGrain(status));
4084 measureUnitValue = MeasureUnit::getGrain();
4085 measureUnit.adoptInstead(MeasureUnit::createGram(status));
4086 measureUnitValue = MeasureUnit::getGram();
4087 measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
4088 measureUnitValue = MeasureUnit::getKilogram();
4089 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
4090 measureUnitValue = MeasureUnit::getMicrogram();
4091 measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
4092 measureUnitValue = MeasureUnit::getMilligram();
4093 measureUnit.adoptInstead(MeasureUnit::createOunce(status));
4094 measureUnitValue = MeasureUnit::getOunce();
4095 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
4096 measureUnitValue = MeasureUnit::getOunceTroy();
4097 measureUnit.adoptInstead(MeasureUnit::createPound(status));
4098 measureUnitValue = MeasureUnit::getPound();
4099 measureUnit.adoptInstead(MeasureUnit::createSolarMass(status));
4100 measureUnitValue = MeasureUnit::getSolarMass();
4101 measureUnit.adoptInstead(MeasureUnit::createStone(status));
4102 measureUnitValue = MeasureUnit::getStone();
4103 measureUnit.adoptInstead(MeasureUnit::createTon(status));
4104 measureUnitValue = MeasureUnit::getTon();
4105 measureUnit.adoptInstead(MeasureUnit::createTonne(status));
4106 measureUnitValue = MeasureUnit::getTonne();
4107 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
4108 measureUnitValue = MeasureUnit::getGigawatt();
4109 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
4110 measureUnitValue = MeasureUnit::getHorsepower();
4111 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
4112 measureUnitValue = MeasureUnit::getKilowatt();
4113 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
4114 measureUnitValue = MeasureUnit::getMegawatt();
4115 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
4116 measureUnitValue = MeasureUnit::getMilliwatt();
4117 measureUnit.adoptInstead(MeasureUnit::createWatt(status));
4118 measureUnitValue = MeasureUnit::getWatt();
4119 measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
4120 measureUnitValue = MeasureUnit::getAtmosphere();
4121 measureUnit.adoptInstead(MeasureUnit::createBar(status));
4122 measureUnitValue = MeasureUnit::getBar();
4123 measureUnit.adoptInstead(MeasureUnit::createGasolineEnergyDensity(status));
4124 measureUnitValue = MeasureUnit::getGasolineEnergyDensity();
4125 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
4126 measureUnitValue = MeasureUnit::getHectopascal();
4127 measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
4128 measureUnitValue = MeasureUnit::getInchHg();
4129 measureUnit.adoptInstead(MeasureUnit::createKilopascal(status));
4130 measureUnitValue = MeasureUnit::getKilopascal();
4131 measureUnit.adoptInstead(MeasureUnit::createMegapascal(status));
4132 measureUnitValue = MeasureUnit::getMegapascal();
4133 measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
4134 measureUnitValue = MeasureUnit::getMillibar();
4135 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
4136 measureUnitValue = MeasureUnit::getMillimeterOfMercury();
4137 measureUnit.adoptInstead(MeasureUnit::createPascal(status));
4138 measureUnitValue = MeasureUnit::getPascal();
4139 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
4140 measureUnitValue = MeasureUnit::getPoundPerSquareInch();
4141 measureUnit.adoptInstead(MeasureUnit::createBeaufort(status));
4142 measureUnitValue = MeasureUnit::getBeaufort();
4143 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
4144 measureUnitValue = MeasureUnit::getKilometerPerHour();
4145 measureUnit.adoptInstead(MeasureUnit::createKnot(status));
4146 measureUnitValue = MeasureUnit::getKnot();
4147 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
4148 measureUnitValue = MeasureUnit::getMeterPerSecond();
4149 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
4150 measureUnitValue = MeasureUnit::getMilePerHour();
4151 measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
4152 measureUnitValue = MeasureUnit::getCelsius();
4153 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
4154 measureUnitValue = MeasureUnit::getFahrenheit();
4155 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
4156 measureUnitValue = MeasureUnit::getGenericTemperature();
4157 measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
4158 measureUnitValue = MeasureUnit::getKelvin();
4159 measureUnit.adoptInstead(MeasureUnit::createNewtonMeter(status));
4160 measureUnitValue = MeasureUnit::getNewtonMeter();
4161 measureUnit.adoptInstead(MeasureUnit::createPoundFoot(status));
4162 measureUnitValue = MeasureUnit::getPoundFoot();
4163 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
4164 measureUnitValue = MeasureUnit::getAcreFoot();
4165 measureUnit.adoptInstead(MeasureUnit::createBarrel(status));
4166 measureUnitValue = MeasureUnit::getBarrel();
4167 measureUnit.adoptInstead(MeasureUnit::createBushel(status));
4168 measureUnitValue = MeasureUnit::getBushel();
4169 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
4170 measureUnitValue = MeasureUnit::getCentiliter();
4171 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
4172 measureUnitValue = MeasureUnit::getCubicCentimeter();
4173 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
4174 measureUnitValue = MeasureUnit::getCubicFoot();
4175 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
4176 measureUnitValue = MeasureUnit::getCubicInch();
4177 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
4178 measureUnitValue = MeasureUnit::getCubicKilometer();
4179 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
4180 measureUnitValue = MeasureUnit::getCubicMeter();
4181 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
4182 measureUnitValue = MeasureUnit::getCubicMile();
4183 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
4184 measureUnitValue = MeasureUnit::getCubicYard();
4185 measureUnit.adoptInstead(MeasureUnit::createCup(status));
4186 measureUnitValue = MeasureUnit::getCup();
4187 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
4188 measureUnitValue = MeasureUnit::getCupMetric();
4189 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
4190 measureUnitValue = MeasureUnit::getDeciliter();
4191 measureUnit.adoptInstead(MeasureUnit::createDessertSpoon(status));
4192 measureUnitValue = MeasureUnit::getDessertSpoon();
4193 measureUnit.adoptInstead(MeasureUnit::createDessertSpoonImperial(status));
4194 measureUnitValue = MeasureUnit::getDessertSpoonImperial();
4195 measureUnit.adoptInstead(MeasureUnit::createDram(status));
4196 measureUnitValue = MeasureUnit::getDram();
4197 measureUnit.adoptInstead(MeasureUnit::createDrop(status));
4198 measureUnitValue = MeasureUnit::getDrop();
4199 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
4200 measureUnitValue = MeasureUnit::getFluidOunce();
4201 measureUnit.adoptInstead(MeasureUnit::createFluidOunceImperial(status));
4202 measureUnitValue = MeasureUnit::getFluidOunceImperial();
4203 measureUnit.adoptInstead(MeasureUnit::createGallon(status));
4204 measureUnitValue = MeasureUnit::getGallon();
4205 measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
4206 measureUnitValue = MeasureUnit::getGallonImperial();
4207 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
4208 measureUnitValue = MeasureUnit::getHectoliter();
4209 measureUnit.adoptInstead(MeasureUnit::createJigger(status));
4210 measureUnitValue = MeasureUnit::getJigger();
4211 measureUnit.adoptInstead(MeasureUnit::createLiter(status));
4212 measureUnitValue = MeasureUnit::getLiter();
4213 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
4214 measureUnitValue = MeasureUnit::getMegaliter();
4215 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
4216 measureUnitValue = MeasureUnit::getMilliliter();
4217 measureUnit.adoptInstead(MeasureUnit::createPinch(status));
4218 measureUnitValue = MeasureUnit::getPinch();
4219 measureUnit.adoptInstead(MeasureUnit::createPint(status));
4220 measureUnitValue = MeasureUnit::getPint();
4221 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
4222 measureUnitValue = MeasureUnit::getPintMetric();
4223 measureUnit.adoptInstead(MeasureUnit::createQuart(status));
4224 measureUnitValue = MeasureUnit::getQuart();
4225 measureUnit.adoptInstead(MeasureUnit::createQuartImperial(status));
4226 measureUnitValue = MeasureUnit::getQuartImperial();
4227 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
4228 measureUnitValue = MeasureUnit::getTablespoon();
4229 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
4230 measureUnitValue = MeasureUnit::getTeaspoon();
4231 assertSuccess("", status);
4232 }
4233
TestBasic()4234 void MeasureFormatTest::TestBasic() {
4235 UErrorCode status = U_ZERO_ERROR;
4236 MeasureUnit *ptr1 = MeasureUnit::createArcMinute(status);
4237 MeasureUnit *ptr2 = MeasureUnit::createArcMinute(status);
4238 if (!(*ptr1 == *ptr2)) {
4239 errln("Expect == to work.");
4240 }
4241 if (*ptr1 != *ptr2) {
4242 errln("Expect != to work.");
4243 }
4244 MeasureUnit *ptr3 = MeasureUnit::createMeter(status);
4245 if (*ptr1 == *ptr3) {
4246 errln("Expect == to work.");
4247 }
4248 if (!(*ptr1 != *ptr3)) {
4249 errln("Expect != to work.");
4250 }
4251 MeasureUnit *ptr4 = ptr1->clone();
4252 if (*ptr1 != *ptr4) {
4253 errln("Expect clone to work.");
4254 }
4255 MeasureUnit stack;
4256 stack = *ptr1;
4257 if (*ptr1 != stack) {
4258 errln("Expect assignment to work.");
4259 }
4260
4261 delete ptr1;
4262 delete ptr2;
4263 delete ptr3;
4264 delete ptr4;
4265 }
4266
TestGetAvailable()4267 void MeasureFormatTest::TestGetAvailable() {
4268 MeasureUnit *units = nullptr;
4269 UErrorCode status = U_ZERO_ERROR;
4270 int32_t totalCount = MeasureUnit::getAvailable(units, 0, status);
4271 while (status == U_BUFFER_OVERFLOW_ERROR) {
4272 status = U_ZERO_ERROR;
4273 delete [] units;
4274 units = new MeasureUnit[totalCount];
4275 totalCount = MeasureUnit::getAvailable(units, totalCount, status);
4276 }
4277 if (U_FAILURE(status)) {
4278 dataerrln("Failure creating format object - %s", u_errorName(status));
4279 delete [] units;
4280 return;
4281 }
4282 if (totalCount < 200) {
4283 errln("Expect at least 200 measure units including currencies.");
4284 }
4285 delete [] units;
4286 StringEnumeration *types = MeasureUnit::getAvailableTypes(status);
4287 if (U_FAILURE(status)) {
4288 dataerrln("Failure getting types - %s", u_errorName(status));
4289 delete types;
4290 return;
4291 }
4292 if (types->count(status) < 10) {
4293 errln("Expect at least 10 distinct unit types.");
4294 }
4295 units = nullptr;
4296 int32_t unitCapacity = 0;
4297 int32_t unitCountSum = 0;
4298 for (
4299 const char* type = types->next(nullptr, status);
4300 type != nullptr;
4301 type = types->next(nullptr, status)) {
4302 int32_t unitCount = MeasureUnit::getAvailable(type, units, unitCapacity, status);
4303 while (status == U_BUFFER_OVERFLOW_ERROR) {
4304 status = U_ZERO_ERROR;
4305 delete [] units;
4306 units = new MeasureUnit[unitCount];
4307 unitCapacity = unitCount;
4308 unitCount = MeasureUnit::getAvailable(type, units, unitCapacity, status);
4309 }
4310 if (U_FAILURE(status)) {
4311 dataerrln("Failure getting units - %s", u_errorName(status));
4312 delete [] units;
4313 delete types;
4314 return;
4315 }
4316 if (unitCount < 1) {
4317 errln("Expect at least one unit count per type.");
4318 }
4319 unitCountSum += unitCount;
4320 }
4321 if (unitCountSum != totalCount) {
4322 errln("Expected total unit count to equal sum of unit counts by type.");
4323 }
4324 delete [] units;
4325 delete types;
4326 }
4327
TestExamplesInDocs()4328 void MeasureFormatTest::TestExamplesInDocs() {
4329 UErrorCode status = U_ZERO_ERROR;
4330 MeasureFormat fmtFr(Locale::getFrench(), UMEASFMT_WIDTH_SHORT, status);
4331 MeasureFormat fmtFrFull(
4332 Locale::getFrench(), UMEASFMT_WIDTH_WIDE, status);
4333 MeasureFormat fmtFrNarrow(
4334 Locale::getFrench(), UMEASFMT_WIDTH_NARROW, status);
4335 MeasureFormat fmtEn(Locale::getUS(), UMEASFMT_WIDTH_WIDE, status);
4336 if (!assertSuccess("Error creating formatters", status)) {
4337 return;
4338 }
4339 Measure measureC((double)23, MeasureUnit::createCelsius(status), status);
4340 Measure measureF((double)70, MeasureUnit::createFahrenheit(status), status);
4341 Measure feetAndInches[] = {
4342 Measure((double)70, MeasureUnit::createFoot(status), status),
4343 Measure((double)5.3, MeasureUnit::createInch(status), status)};
4344 Measure footAndInch[] = {
4345 Measure((double)1, MeasureUnit::createFoot(status), status),
4346 Measure((double)1, MeasureUnit::createInch(status), status)};
4347 Measure inchAndFeet[] = {
4348 Measure((double)1, MeasureUnit::createInch(status), status),
4349 Measure((double)2, MeasureUnit::createFoot(status), status)};
4350 if (!assertSuccess("Error creating measurements.", status)) {
4351 return;
4352 }
4353 verifyFormat(
4354 "Celsius",
4355 fmtFr,
4356 &measureC,
4357 1,
4358 "23\\u202F\\u00B0C");
4359 verifyFormatWithPrefix(
4360 "Celsius",
4361 fmtFr,
4362 "Prefix: ",
4363 &measureC,
4364 1,
4365 "Prefix: 23\\u202F\\u00B0C");
4366 verifyFormat(
4367 "Fahrenheit",
4368 fmtFr,
4369 &measureF,
4370 1,
4371 "70\\u202F\\u00B0F");
4372 verifyFormat(
4373 "Feet and inches",
4374 fmtFrFull,
4375 feetAndInches,
4376 UPRV_LENGTHOF(feetAndInches),
4377 "70 pieds et 5,3\\u00A0pouces");
4378 verifyFormatWithPrefix(
4379 "Feet and inches",
4380 fmtFrFull,
4381 "Prefix: ",
4382 feetAndInches,
4383 UPRV_LENGTHOF(feetAndInches),
4384 "Prefix: 70 pieds et 5,3\\u00A0pouces");
4385 verifyFormat(
4386 "Foot and inch",
4387 fmtFrFull,
4388 footAndInch,
4389 UPRV_LENGTHOF(footAndInch),
4390 "1\\u00A0pied et 1\\u00A0pouce");
4391 verifyFormat(
4392 "Foot and inch narrow",
4393 fmtFrNarrow,
4394 footAndInch,
4395 UPRV_LENGTHOF(footAndInch),
4396 "1\\u2032 1\\u2033");
4397 verifyFormat(
4398 "Inch and feet",
4399 fmtEn,
4400 inchAndFeet,
4401 UPRV_LENGTHOF(inchAndFeet),
4402 "1 inch, 2 feet");
4403 }
4404
TestFormatPeriodEn()4405 void MeasureFormatTest::TestFormatPeriodEn() {
4406 UErrorCode status = U_ZERO_ERROR;
4407 Measure t_1y[] = {Measure((double)1, MeasureUnit::createYear(status), status)};
4408 Measure t_5M[] = {Measure((double)5, MeasureUnit::createMonth(status), status)};
4409 Measure t_4d[] = {Measure((double)4, MeasureUnit::createDay(status), status)};
4410 Measure t_2h[] = {Measure((double)2, MeasureUnit::createHour(status), status)};
4411 Measure t_19m[] = {Measure((double)19, MeasureUnit::createMinute(status), status)};
4412 Measure t_1h_23_5s[] = {
4413 Measure((double)1.0, MeasureUnit::createHour(status), status),
4414 Measure((double)23.5, MeasureUnit::createSecond(status), status)
4415 };
4416 Measure t_1h_23_5m[] = {
4417 Measure((double)1.0, MeasureUnit::createHour(status), status),
4418 Measure((double)23.5, MeasureUnit::createMinute(status), status)
4419 };
4420 Measure t_1h_0m_23s[] = {
4421 Measure(
4422 (double)1.0,
4423 TimeUnit::createInstance(
4424 TimeUnit::UTIMEUNIT_HOUR, status),
4425 status),
4426 Measure(
4427 (double)0.0,
4428 TimeUnit::createInstance(
4429 TimeUnit::UTIMEUNIT_MINUTE, status),
4430 status),
4431 Measure(
4432 (double)23.0,
4433 TimeUnit::createInstance(
4434 TimeUnit::UTIMEUNIT_SECOND, status),
4435 status)
4436 };
4437 Measure t_2y_5M_3w_4d[] = {
4438 Measure(2.0, MeasureUnit::createYear(status), status),
4439 Measure(5.0, MeasureUnit::createMonth(status), status),
4440 Measure(3.0, MeasureUnit::createWeek(status), status),
4441 Measure(4.0, MeasureUnit::createDay(status), status)
4442 };
4443 Measure t_1m_59_9996s[] = {
4444 Measure(1.0, MeasureUnit::createMinute(status), status),
4445 Measure(59.9996, MeasureUnit::createSecond(status), status)
4446 };
4447 Measure t_5h_17m[] = {
4448 Measure(5.0, MeasureUnit::createHour(status), status),
4449 Measure(17.0, MeasureUnit::createMinute(status), status)
4450 };
4451 Measure t_neg5h_17m[] = {
4452 Measure(-5.0, MeasureUnit::createHour(status), status),
4453 Measure(17.0, MeasureUnit::createMinute(status), status)
4454 };
4455 Measure t_19m_28s[] = {
4456 Measure(19.0, MeasureUnit::createMinute(status), status),
4457 Measure(28.0, MeasureUnit::createSecond(status), status)
4458 };
4459 Measure t_0h_0m_9s[] = {
4460 Measure(0.0, MeasureUnit::createHour(status), status),
4461 Measure(0.0, MeasureUnit::createMinute(status), status),
4462 Measure(9.0, MeasureUnit::createSecond(status), status)
4463 };
4464 Measure t_0h_0m_17s[] = {
4465 Measure(0.0, MeasureUnit::createHour(status), status),
4466 Measure(0.0, MeasureUnit::createMinute(status), status),
4467 Measure(17.0, MeasureUnit::createSecond(status), status)
4468 };
4469 Measure t_6h_56_92m[] = {
4470 Measure(6.0, MeasureUnit::createHour(status), status),
4471 Measure(56.92, MeasureUnit::createMinute(status), status)
4472 };
4473 Measure t_3h_4s_5m[] = {
4474 Measure(3.0, MeasureUnit::createHour(status), status),
4475 Measure(4.0, MeasureUnit::createSecond(status), status),
4476 Measure(5.0, MeasureUnit::createMinute(status), status)
4477 };
4478 Measure t_6_7h_56_92m[] = {
4479 Measure(6.7, MeasureUnit::createHour(status), status),
4480 Measure(56.92, MeasureUnit::createMinute(status), status)
4481 };
4482
4483 Measure t_3h_5h[] = {
4484 Measure(3.0, MeasureUnit::createHour(status), status),
4485 Measure(5.0, MeasureUnit::createHour(status), status)
4486 };
4487
4488 if (!assertSuccess("Error creating Measure objects", status)) {
4489 return;
4490 }
4491
4492 ExpectedResult fullData[] = {
4493 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 minute, 59.9996 seconds"},
4494 {t_19m, UPRV_LENGTHOF(t_19m), "19 minutes"},
4495 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 hour, 23.5 seconds"},
4496 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 hour, 23.5 minutes"},
4497 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 hour, 0 minutes, 23 seconds"},
4498 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 years, 5 months, 3 weeks, 4 days"}};
4499
4500 ExpectedResult abbrevData[] = {
4501 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 min, 59.9996 sec"},
4502 {t_19m, UPRV_LENGTHOF(t_19m), "19 min"},
4503 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 hr, 23.5 sec"},
4504 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 hr, 23.5 min"},
4505 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 hr, 0 min, 23 sec"},
4506 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 yrs, 5 mths, 3 wks, 4 days"}};
4507
4508 ExpectedResult narrowData[] = {
4509 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1m 59.9996s"},
4510 {t_19m, UPRV_LENGTHOF(t_19m), "19m"},
4511 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1h 23.5s"},
4512 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1h 23.5m"},
4513 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1h 0m 23s"},
4514 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2y 5m 3w 4d"}};
4515
4516 ExpectedResult numericData[] = {
4517 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1:59.9996"},
4518 {t_19m, UPRV_LENGTHOF(t_19m), "19m"},
4519 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1:00:23.5"},
4520 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1:23.5"},
4521 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1:00:23"},
4522 {t_5h_17m, UPRV_LENGTHOF(t_5h_17m), "5:17"},
4523 {t_neg5h_17m, UPRV_LENGTHOF(t_neg5h_17m), "-5h 17m"},
4524 {t_19m_28s, UPRV_LENGTHOF(t_19m_28s), "19:28"},
4525 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2y 5m 3w 4d"},
4526 {t_0h_0m_9s, UPRV_LENGTHOF(t_0h_0m_9s), "0:00:09"},
4527 {t_6h_56_92m, UPRV_LENGTHOF(t_6h_56_92m), "6:56.92"},
4528 {t_6_7h_56_92m, UPRV_LENGTHOF(t_6_7h_56_92m), "6:56.92"},
4529 {t_3h_4s_5m, UPRV_LENGTHOF(t_3h_4s_5m), "3h 4s 5m"},
4530 {t_3h_5h, UPRV_LENGTHOF(t_3h_5h), "3h 5h"}};
4531
4532 ExpectedResult fullDataDe[] = {
4533 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 Minute, 59,9996 Sekunden"},
4534 {t_19m, UPRV_LENGTHOF(t_19m), "19 Minuten"},
4535 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 Stunde, 23,5 Sekunden"},
4536 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 Stunde, 23,5 Minuten"},
4537 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 Stunde, 0 Minuten und 23 Sekunden"},
4538 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 Jahre, 5 Monate, 3 Wochen und 4 Tage"}};
4539
4540 ExpectedResult numericDataDe[] = {
4541 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1:59,9996"},
4542 {t_19m, UPRV_LENGTHOF(t_19m), "19 Min."},
4543 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1:00:23,5"},
4544 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1:23,5"},
4545 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1:00:23"},
4546 {t_5h_17m, UPRV_LENGTHOF(t_5h_17m), "5:17"},
4547 {t_19m_28s, UPRV_LENGTHOF(t_19m_28s), "19:28"},
4548 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 J, 5 M, 3 W und 4 T"},
4549 {t_0h_0m_17s, UPRV_LENGTHOF(t_0h_0m_17s), "0:00:17"},
4550 {t_6h_56_92m, UPRV_LENGTHOF(t_6h_56_92m), "6:56,92"},
4551 {t_3h_5h, UPRV_LENGTHOF(t_3h_5h), "3 Std., 5 Std."}};
4552
4553 ExpectedResult numericDataBn[] = {
4554 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "\\u09E7:\\u09EB\\u09EF.\\u09EF\\u09EF\\u09EF\\u09EC"},
4555 {t_19m, UPRV_LENGTHOF(t_19m), "\\u09E7\\u09EF \\u09AE\\u09BF\\u0983"},
4556 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "\\u09E7:\\u09E6\\u09E6:\\u09E8\\u09E9.\\u09EB"},
4557 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "\\u09E7:\\u09E6\\u09E6:\\u09E8\\u09E9"},
4558 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "\\u09E7:\\u09E8\\u09E9.\\u09EB"},
4559 {t_5h_17m, UPRV_LENGTHOF(t_5h_17m), "\\u09EB:\\u09E7\\u09ED"},
4560 {t_19m_28s, UPRV_LENGTHOF(t_19m_28s), "\\u09E7\\u09EF:\\u09E8\\u09EE"},
4561 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "\\u09E8 \\u09AC\\u099B\\u09B0, \\u09EB \\u09AE\\u09BE\\u09B8, \\u09E9 \\u09B8\\u09AA\\u09CD\\u09A4\\u09BE\\u09B9, \\u09EA \\u09A6\\u09BF\\u09A8"},
4562 {t_0h_0m_17s, UPRV_LENGTHOF(t_0h_0m_17s), "\\u09E6:\\u09E6\\u09E6:\\u09E7\\u09ED"},
4563 {t_6h_56_92m, UPRV_LENGTHOF(t_6h_56_92m), "\\u09EC:\\u09EB\\u09EC.\\u09EF\\u09E8"},
4564 {t_3h_5h, UPRV_LENGTHOF(t_3h_5h), "\\u09E9 \\u0998\\u0983, \\u09EB \\u0998\\u0983"}};
4565
4566 ExpectedResult numericDataBnLatn[] = {
4567 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1:59.9996"},
4568 {t_19m, UPRV_LENGTHOF(t_19m), "19 \\u09AE\\u09BF\\u0983"},
4569 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1:00:23.5"},
4570 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1:00:23"},
4571 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1:23.5"},
4572 {t_5h_17m, UPRV_LENGTHOF(t_5h_17m), "5:17"},
4573 {t_19m_28s, UPRV_LENGTHOF(t_19m_28s), "19:28"},
4574 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 \\u09AC\\u099B\\u09B0, 5 \\u09AE\\u09BE\\u09B8, 3 \\u09B8\\u09AA\\u09CD\\u09A4\\u09BE\\u09B9, 4 \\u09A6\\u09BF\\u09A8"},
4575 {t_0h_0m_17s, UPRV_LENGTHOF(t_0h_0m_17s), "0:00:17"},
4576 {t_6h_56_92m, UPRV_LENGTHOF(t_6h_56_92m), "6:56.92"},
4577 {t_3h_5h, UPRV_LENGTHOF(t_3h_5h), "3 \\u0998\\u0983, 5 \\u0998\\u0983"}};
4578
4579 ExpectedResult fullDataSpellout[] = {
4580 {t_1y, UPRV_LENGTHOF(t_1y), "one year"},
4581 {t_5M, UPRV_LENGTHOF(t_5M), "five months"},
4582 {t_4d, UPRV_LENGTHOF(t_4d), "four days"},
4583 {t_2h, UPRV_LENGTHOF(t_2h), "two hours"},
4584 {t_19m, UPRV_LENGTHOF(t_19m), "nineteen minutes"}};
4585
4586 ExpectedResult fullDataSpelloutFr[] = {
4587 {t_1y, UPRV_LENGTHOF(t_1y), "un\\u00A0an"},
4588 {t_5M, UPRV_LENGTHOF(t_5M), "cinq\\u00A0mois"},
4589 {t_4d, UPRV_LENGTHOF(t_4d), "quatre\\u00A0jours"},
4590 {t_2h, UPRV_LENGTHOF(t_2h), "deux\\u00A0heures"},
4591 {t_19m, UPRV_LENGTHOF(t_19m), "dix-neuf minutes"}};
4592
4593 Locale en(Locale::getEnglish());
4594 LocalPointer<NumberFormat> nf(NumberFormat::createInstance(en, status));
4595 if (U_FAILURE(status)) {
4596 dataerrln("Error creating number format en object - %s", u_errorName(status));
4597 return;
4598 }
4599 nf->setMaximumFractionDigits(4);
4600 MeasureFormat mf(en, UMEASFMT_WIDTH_WIDE, nf->clone(), status);
4601 if (!assertSuccess("Error creating measure format en WIDE", status)) {
4602 return;
4603 }
4604 verifyFormat("en WIDE", mf, fullData, UPRV_LENGTHOF(fullData));
4605
4606 // exercise copy constructor
4607 {
4608 MeasureFormat mf2(mf);
4609 verifyFormat("en WIDE copy", mf2, fullData, UPRV_LENGTHOF(fullData));
4610 }
4611 // exercise clone
4612 {
4613 MeasureFormat *mf3 = mf.clone();
4614 verifyFormat("en WIDE copy", *mf3, fullData, UPRV_LENGTHOF(fullData));
4615 delete mf3;
4616 }
4617 mf = MeasureFormat(en, UMEASFMT_WIDTH_SHORT, nf->clone(), status);
4618 if (!assertSuccess("Error creating measure format en SHORT", status)) {
4619 return;
4620 }
4621 verifyFormat("en SHORT", mf, abbrevData, UPRV_LENGTHOF(abbrevData));
4622 mf = MeasureFormat(en, UMEASFMT_WIDTH_NARROW, nf->clone(), status);
4623 if (!assertSuccess("Error creating measure format en NARROW", status)) {
4624 return;
4625 }
4626 verifyFormat("en NARROW", mf, narrowData, UPRV_LENGTHOF(narrowData));
4627 mf = MeasureFormat(en, UMEASFMT_WIDTH_NUMERIC, nf->clone(), status);
4628 if (!assertSuccess("Error creating measure format en NUMERIC", status)) {
4629 return;
4630 }
4631 verifyFormat("en NUMERIC", mf, numericData, UPRV_LENGTHOF(numericData));
4632
4633 Locale de(Locale::getGerman());
4634 nf.adoptInstead(NumberFormat::createInstance(de, status));
4635 if (!assertSuccess("Error creating number format de object", status)) {
4636 return;
4637 }
4638 nf->setMaximumFractionDigits(4);
4639 mf = MeasureFormat(de, UMEASFMT_WIDTH_WIDE, nf->clone(), status);
4640 if (!assertSuccess("Error creating measure format de WIDE", status)) {
4641 return;
4642 }
4643 verifyFormat("de WIDE", mf, fullDataDe, UPRV_LENGTHOF(fullDataDe));
4644 mf = MeasureFormat(de, UMEASFMT_WIDTH_NUMERIC, nf->clone(), status);
4645 if (!assertSuccess("Error creating measure format de NUMERIC", status)) {
4646 return;
4647 }
4648 verifyFormat("de NUMERIC", mf, numericDataDe, UPRV_LENGTHOF(numericDataDe));
4649
4650 Locale bengali("bn");
4651 nf.adoptInstead(NumberFormat::createInstance(bengali, status));
4652 if (!assertSuccess("Error creating number format de object", status)) {
4653 return;
4654 }
4655 nf->setMaximumFractionDigits(4);
4656 mf = MeasureFormat(bengali, UMEASFMT_WIDTH_NUMERIC, nf->clone(), status);
4657 if (!assertSuccess("Error creating measure format bn NUMERIC", status)) {
4658 return;
4659 }
4660 verifyFormat("bn NUMERIC", mf, numericDataBn, UPRV_LENGTHOF(numericDataBn));
4661
4662 Locale bengaliLatin("bn-u-nu-latn");
4663 nf.adoptInstead(NumberFormat::createInstance(bengaliLatin, status));
4664 if (!assertSuccess("Error creating number format de object", status)) {
4665 return;
4666 }
4667 nf->setMaximumFractionDigits(4);
4668 mf = MeasureFormat(bengaliLatin, UMEASFMT_WIDTH_NUMERIC, nf->clone(), status);
4669 if (!assertSuccess("Error creating measure format bn-u-nu-latn NUMERIC", status)) {
4670 return;
4671 }
4672 verifyFormat("bn-u-nu-latn NUMERIC", mf, numericDataBnLatn, UPRV_LENGTHOF(numericDataBnLatn));
4673
4674 status = U_ZERO_ERROR;
4675 LocalPointer<RuleBasedNumberFormat> rbnf(new RuleBasedNumberFormat(URBNF_SPELLOUT, en, status));
4676 if (U_FAILURE(status)) {
4677 dataerrln("Error creating rbnf en object - %s", u_errorName(status));
4678 return;
4679 }
4680 mf = MeasureFormat(en, UMEASFMT_WIDTH_WIDE, rbnf->clone(), status);
4681 if (!assertSuccess("Error creating measure format en WIDE with rbnf", status)) {
4682 return;
4683 }
4684 verifyFormat("en WIDE rbnf", mf, fullDataSpellout, UPRV_LENGTHOF(fullDataSpellout));
4685
4686 Locale fr(Locale::getFrench());
4687 LocalPointer<RuleBasedNumberFormat> rbnffr(new RuleBasedNumberFormat(URBNF_SPELLOUT, fr, status));
4688 if (U_FAILURE(status)) {
4689 dataerrln("Error creating rbnf fr object - %s", u_errorName(status));
4690 return;
4691 }
4692 mf = MeasureFormat(fr, UMEASFMT_WIDTH_WIDE, rbnffr->clone(), status);
4693 if (!assertSuccess("Error creating measure format fr WIDE with rbnf", status)) {
4694 return;
4695 }
4696 verifyFormat("fr WIDE rbnf", mf, fullDataSpelloutFr, UPRV_LENGTHOF(fullDataSpellout));
4697 }
4698
Test10219FractionalPlurals()4699 void MeasureFormatTest::Test10219FractionalPlurals() {
4700 Locale en(Locale::getEnglish());
4701 double values[] = {1.588, 1.011};
4702 const char *expected[2][3] = {
4703 {"1 minute", "1.5 minutes", "1.58 minutes"},
4704 {"1 minute", "1.0 minutes", "1.01 minutes"}
4705 };
4706 UErrorCode status = U_ZERO_ERROR;
4707 for (int j = 0; j < UPRV_LENGTHOF(values); j++) {
4708 for (int i = 0; i < UPRV_LENGTHOF(expected[j]); i++) {
4709 DecimalFormat *df =
4710 dynamic_cast<DecimalFormat *>(NumberFormat::createInstance(en, status));
4711 if (U_FAILURE(status)) {
4712 dataerrln("Error creating Number format - %s", u_errorName(status));
4713 return;
4714 }
4715 df->setRoundingMode(DecimalFormat::kRoundDown);
4716 df->setMinimumFractionDigits(i);
4717 df->setMaximumFractionDigits(i);
4718 MeasureFormat mf(en, UMEASFMT_WIDTH_WIDE, df, status);
4719 if (!assertSuccess("Error creating Measure format", status)) {
4720 return;
4721 }
4722 Measure measure(values[j], MeasureUnit::createMinute(status), status);
4723 if (!assertSuccess("Error creating Measure unit", status)) {
4724 return;
4725 }
4726 verifyFormat("Test10219", mf, &measure, 1, expected[j][i]);
4727 }
4728 }
4729 }
4730
toMeasureUnit(MeasureUnit * adopted)4731 static MeasureUnit toMeasureUnit(MeasureUnit *adopted) {
4732 MeasureUnit result(*adopted);
4733 delete adopted;
4734 return result;
4735 }
4736
TestGreek()4737 void MeasureFormatTest::TestGreek() {
4738 Locale locales[] = {Locale("el_GR"), Locale("el")};
4739 UErrorCode status = U_ZERO_ERROR;
4740 MeasureUnit units[] = {
4741 toMeasureUnit(MeasureUnit::createSecond(status)),
4742 toMeasureUnit(MeasureUnit::createMinute(status)),
4743 toMeasureUnit(MeasureUnit::createHour(status)),
4744 toMeasureUnit(MeasureUnit::createDay(status)),
4745 toMeasureUnit(MeasureUnit::createWeek(status)),
4746 toMeasureUnit(MeasureUnit::createMonth(status)),
4747 toMeasureUnit(MeasureUnit::createYear(status))};
4748 if (!assertSuccess("Error creating Measure units", status)) {
4749 return;
4750 }
4751 UMeasureFormatWidth styles[] = {
4752 UMEASFMT_WIDTH_WIDE,
4753 UMEASFMT_WIDTH_SHORT};
4754 int32_t numbers[] = {1, 7};
4755 const char *expected[] = {
4756 // "el_GR" 1 wide
4757 "1 \\u03B4\\u03B5\\u03C5\\u03C4\\u03B5\\u03C1\\u03CC\\u03BB\\u03B5\\u03C0\\u03C4\\u03BF",
4758 "1 \\u03BB\\u03B5\\u03C0\\u03C4\\u03CC",
4759 "1 \\u03CE\\u03C1\\u03B1",
4760 "1 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B1",
4761 "1 \\u03B5\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B1",
4762 "1 \\u03BC\\u03AE\\u03BD\\u03B1\\u03C2",
4763 "1 \\u03AD\\u03C4\\u03BF\\u03C2",
4764 // "el_GR" 1 short
4765 "1 \\u03B4\\u03B5\\u03C5\\u03C4.",
4766 "1 \\u03BB.",
4767 "1 \\u03CE.",
4768 "1 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B1",
4769 "1 \\u03B5\\u03B2\\u03B4.",
4770 "1 \\u03BC\\u03AE\\u03BD.",
4771 "1 \\u03AD\\u03C4.", // year (one)
4772 // "el_GR" 7 wide
4773 "7 \\u03B4\\u03B5\\u03C5\\u03C4\\u03B5\\u03C1\\u03CC\\u03BB\\u03B5\\u03C0\\u03C4\\u03B1",
4774 "7 \\u03BB\\u03B5\\u03C0\\u03C4\\u03AC",
4775 "7 \\u03CE\\u03C1\\u03B5\\u03C2",
4776 "7 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2",
4777 "7 \\u03B5\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B5\\u03C2",
4778 "7 \\u03BC\\u03AE\\u03BD\\u03B5\\u03C2",
4779 "7 \\u03AD\\u03C4\\u03B7",
4780 // "el_GR" 7 short
4781 "7 \\u03B4\\u03B5\\u03C5\\u03C4.",
4782 "7 \\u03BB.",
4783 "7 \\u03CE.", // hour (other)
4784 "7 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2",
4785 "7 \\u03B5\\u03B2\\u03B4.",
4786 "7 \\u03BC\\u03AE\\u03BD.",
4787 "7 \\u03AD\\u03C4.", // year (other)
4788
4789 // "el" 1 wide
4790 "1 \\u03B4\\u03B5\\u03C5\\u03C4\\u03B5\\u03C1\\u03CC\\u03BB\\u03B5\\u03C0\\u03C4\\u03BF",
4791 "1 \\u03BB\\u03B5\\u03C0\\u03C4\\u03CC",
4792 "1 \\u03CE\\u03C1\\u03B1",
4793 "1 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B1",
4794 "1 \\u03B5\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B1",
4795 "1 \\u03BC\\u03AE\\u03BD\\u03B1\\u03C2",
4796 "1 \\u03AD\\u03C4\\u03BF\\u03C2",
4797 // "el" 1 short
4798 "1 \\u03B4\\u03B5\\u03C5\\u03C4.",
4799 "1 \\u03BB.",
4800 "1 \\u03CE.",
4801 "1 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B1",
4802 "1 \\u03B5\\u03B2\\u03B4.",
4803 "1 \\u03BC\\u03AE\\u03BD.",
4804 "1 \\u03AD\\u03C4.", // year (one)
4805 // "el" 7 wide
4806 "7 \\u03B4\\u03B5\\u03C5\\u03C4\\u03B5\\u03C1\\u03CC\\u03BB\\u03B5\\u03C0\\u03C4\\u03B1",
4807 "7 \\u03BB\\u03B5\\u03C0\\u03C4\\u03AC",
4808 "7 \\u03CE\\u03C1\\u03B5\\u03C2",
4809 "7 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2",
4810 "7 \\u03B5\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B5\\u03C2",
4811 "7 \\u03BC\\u03AE\\u03BD\\u03B5\\u03C2",
4812 "7 \\u03AD\\u03C4\\u03B7",
4813 // "el" 7 short
4814 "7 \\u03B4\\u03B5\\u03C5\\u03C4.",
4815 "7 \\u03BB.",
4816 "7 \\u03CE.", // hour (other)
4817 "7 \\u03B7\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2",
4818 "7 \\u03B5\\u03B2\\u03B4.",
4819 "7 \\u03BC\\u03AE\\u03BD.",
4820 "7 \\u03AD\\u03C4."}; // year (other)
4821
4822 int32_t counter = 0;
4823 for (int32_t locIndex = 0; locIndex < UPRV_LENGTHOF(locales); ++locIndex ) {
4824 for( int32_t numIndex = 0; numIndex < UPRV_LENGTHOF(numbers); ++numIndex ) {
4825 for ( int32_t styleIndex = 0; styleIndex < UPRV_LENGTHOF(styles); ++styleIndex ) {
4826 for ( int32_t unitIndex = 0; unitIndex < UPRV_LENGTHOF(units); ++unitIndex ) {
4827 Measure measure(numbers[numIndex], new MeasureUnit(units[unitIndex]), status);
4828 if (!assertSuccess("Error creating Measure", status)) {
4829 return;
4830 }
4831 MeasureFormat fmt(locales[locIndex], styles[styleIndex], status);
4832 if (!assertSuccess("Error creating Measure format", status)) {
4833 return;
4834 }
4835 verifyFormat("TestGreek", fmt, &measure, 1, expected[counter]);
4836 ++counter;
4837 }
4838 }
4839 }
4840 }
4841 }
4842
TestFormatSingleArg()4843 void MeasureFormatTest::TestFormatSingleArg() {
4844 UErrorCode status = U_ZERO_ERROR;
4845 MeasureFormat fmt("en", UMEASFMT_WIDTH_WIDE, status);
4846 if (!assertSuccess("Error creating formatter", status)) {
4847 return;
4848 }
4849 UnicodeString buffer;
4850 FieldPosition pos(FieldPosition::DONT_CARE);
4851 fmt.format(
4852 new Measure(3.5, MeasureUnit::createFoot(status), status),
4853 buffer,
4854 pos,
4855 status);
4856 if (!assertSuccess("Error formatting", status)) {
4857 return;
4858 }
4859 assertEquals(
4860 "TestFormatSingleArg",
4861 UnicodeString("3.5 feet"),
4862 buffer);
4863 }
4864
TestFormatMeasuresZeroArg()4865 void MeasureFormatTest::TestFormatMeasuresZeroArg() {
4866 UErrorCode status = U_ZERO_ERROR;
4867 MeasureFormat fmt("en", UMEASFMT_WIDTH_WIDE, status);
4868 verifyFormat("TestFormatMeasuresZeroArg", fmt, nullptr, 0, "");
4869 }
4870
TestSimplePer()4871 void MeasureFormatTest::TestSimplePer() {
4872 Locale en("en");
4873 UErrorCode status = U_ZERO_ERROR;
4874 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status));
4875 LocalPointer<MeasureUnit> minute(MeasureUnit::createMinute(status));
4876 LocalPointer<MeasureUnit> pound(MeasureUnit::createPound(status));
4877 if (!assertSuccess("", status)) {
4878 return;
4879 }
4880
4881 helperTestSimplePer(
4882 en, UMEASFMT_WIDTH_WIDE,
4883 1.0, *pound, *second, "1 pound per second");
4884 helperTestSimplePer(
4885 en, UMEASFMT_WIDTH_WIDE,
4886 2.0, *pound, *second, "2 pounds per second");
4887 helperTestSimplePer(
4888 en, UMEASFMT_WIDTH_WIDE,
4889 1.0, *pound, *minute, "1 pound per minute");
4890 helperTestSimplePer(
4891 en, UMEASFMT_WIDTH_WIDE,
4892 2.0, *pound, *minute, "2 pounds per minute");
4893
4894 helperTestSimplePer(
4895 en, UMEASFMT_WIDTH_SHORT, 1.0, *pound, *second, "1 lb/s");
4896 helperTestSimplePer(
4897 en, UMEASFMT_WIDTH_SHORT, 2.0, *pound, *second, "2 lb/s");
4898 helperTestSimplePer(
4899 en, UMEASFMT_WIDTH_SHORT, 1.0, *pound, *minute, "1 lb/min");
4900 helperTestSimplePer(
4901 en, UMEASFMT_WIDTH_SHORT, 2.0, *pound, *minute, "2 lb/min");
4902
4903 helperTestSimplePer(
4904 en, UMEASFMT_WIDTH_NARROW, 1.0, *pound, *second, "1#/s");
4905 helperTestSimplePer(
4906 en, UMEASFMT_WIDTH_NARROW, 2.0, *pound, *second, "2#/s");
4907 helperTestSimplePer(
4908 en, UMEASFMT_WIDTH_NARROW, 1.0, *pound, *minute, "1#/min");
4909 helperTestSimplePer(
4910 en, UMEASFMT_WIDTH_NARROW, 2.0, *pound, *minute, "2#/min");
4911
4912 helperTestSimplePer(
4913 en, UMEASFMT_WIDTH_SHORT,
4914 23.3, *pound, *second, "23.3 lb/s",
4915 NumberFormat::kDecimalSeparatorField,
4916 2, 3);
4917
4918 helperTestSimplePer(
4919 en, UMEASFMT_WIDTH_SHORT,
4920 23.3, *pound, *second, "23.3 lb/s",
4921 NumberFormat::kIntegerField,
4922 0, 2);
4923
4924 helperTestSimplePer(
4925 en, UMEASFMT_WIDTH_SHORT,
4926 23.3, *pound, *minute, "23.3 lb/min",
4927 NumberFormat::kDecimalSeparatorField,
4928 2, 3);
4929
4930 helperTestSimplePer(
4931 en, UMEASFMT_WIDTH_SHORT,
4932 23.3, *pound, *minute, "23.3 lb/min",
4933 NumberFormat::kIntegerField,
4934 0, 2);
4935 }
4936
TestNumeratorPlurals()4937 void MeasureFormatTest::TestNumeratorPlurals() {
4938 Locale pl("pl");
4939 UErrorCode status = U_ZERO_ERROR;
4940 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status));
4941 LocalPointer<MeasureUnit> foot(MeasureUnit::createFoot(status));
4942 if (!assertSuccess("", status)) {
4943 return;
4944 }
4945
4946 helperTestSimplePer(
4947 pl,
4948 UMEASFMT_WIDTH_WIDE,
4949 1.0, *foot, *second, "1 stopa na sekund\\u0119");
4950 helperTestSimplePer(
4951 pl,
4952 UMEASFMT_WIDTH_WIDE,
4953 2.0, *foot, *second, "2 stopy na sekund\\u0119");
4954 helperTestSimplePer(
4955 pl,
4956 UMEASFMT_WIDTH_WIDE,
4957 5.0, *foot, *second, "5 st\\u00f3p na sekund\\u0119");
4958 helperTestSimplePer(
4959 pl, UMEASFMT_WIDTH_WIDE,
4960 1.5, *foot, *second, "1,5 stopy na sekund\\u0119");
4961 }
4962
helperTestSimplePer(const Locale & locale,UMeasureFormatWidth width,double value,const MeasureUnit & unit,const MeasureUnit & perUnit,const char * expected)4963 void MeasureFormatTest::helperTestSimplePer(
4964 const Locale &locale,
4965 UMeasureFormatWidth width,
4966 double value,
4967 const MeasureUnit &unit,
4968 const MeasureUnit &perUnit,
4969 const char *expected) {
4970 helperTestSimplePer(
4971 locale,
4972 width,
4973 value,
4974 unit,
4975 perUnit,
4976 expected,
4977 FieldPosition::DONT_CARE,
4978 0,
4979 0);
4980 }
4981
helperTestSimplePer(const Locale & locale,UMeasureFormatWidth width,double value,const MeasureUnit & unit,const MeasureUnit & perUnit,const char * expected,int32_t field,int32_t expected_start,int32_t expected_end)4982 void MeasureFormatTest::helperTestSimplePer(
4983 const Locale &locale,
4984 UMeasureFormatWidth width,
4985 double value,
4986 const MeasureUnit &unit,
4987 const MeasureUnit &perUnit,
4988 const char *expected,
4989 int32_t field,
4990 int32_t expected_start,
4991 int32_t expected_end) {
4992 UErrorCode status = U_ZERO_ERROR;
4993 FieldPosition pos(field);
4994 MeasureFormat fmt(locale, width, status);
4995 if (!assertSuccess("Error creating format object", status)) {
4996 return;
4997 }
4998 Measure measure(value, unit.clone(), status);
4999 if (!assertSuccess("Error creating measure object", status)) {
5000 return;
5001 }
5002 UnicodeString prefix("prefix: ");
5003 UnicodeString buffer(prefix);
5004 fmt.formatMeasurePerUnit(
5005 measure,
5006 perUnit,
5007 buffer,
5008 pos,
5009 status);
5010 if (!assertSuccess("Error formatting measures with per", status)) {
5011 return;
5012 }
5013 UnicodeString uexpected(expected);
5014 uexpected = prefix + uexpected;
5015 assertEquals(
5016 "TestSimplePer",
5017 uexpected.unescape(),
5018 buffer);
5019 if (field != FieldPosition::DONT_CARE) {
5020 assertEquals(
5021 "Start", expected_start, pos.getBeginIndex() - prefix.length());
5022 assertEquals(
5023 "End", expected_end, pos.getEndIndex() - prefix.length());
5024 }
5025 }
5026
TestMultiples()5027 void MeasureFormatTest::TestMultiples() {
5028 Locale ru("ru");
5029 Locale en("en");
5030 helperTestMultiples(en, UMEASFMT_WIDTH_WIDE, "2 miles, 1 foot, 2.3 inches");
5031 helperTestMultiples(en, UMEASFMT_WIDTH_SHORT, "2 mi, 1 ft, 2.3 in");
5032 helperTestMultiples(en, UMEASFMT_WIDTH_NARROW, "2mi 1\\u2032 2.3\\u2033");
5033 helperTestMultiples(ru, UMEASFMT_WIDTH_WIDE, "2 \\u043C\\u0438\\u043B\\u0438 1 \\u0444\\u0443\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430");
5034 helperTestMultiples(ru, UMEASFMT_WIDTH_SHORT, "2 \\u043C\\u0438 1 \\u0444\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C.");
5035 helperTestMultiples(ru, UMEASFMT_WIDTH_NARROW, "2 \\u043C\\u0438 1 \\u0444\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C.");
5036 }
5037
helperTestMultiples(const Locale & locale,UMeasureFormatWidth width,const char * expected)5038 void MeasureFormatTest::helperTestMultiples(
5039 const Locale &locale,
5040 UMeasureFormatWidth width,
5041 const char *expected) {
5042 UErrorCode status = U_ZERO_ERROR;
5043 FieldPosition pos(FieldPosition::DONT_CARE);
5044 MeasureFormat fmt(locale, width, status);
5045 if (!assertSuccess("Error creating format object", status)) {
5046 return;
5047 }
5048 Measure measures[] = {
5049 Measure(2.0, MeasureUnit::createMile(status), status),
5050 Measure(1.0, MeasureUnit::createFoot(status), status),
5051 Measure(2.3, MeasureUnit::createInch(status), status)};
5052 if (!assertSuccess("Error creating measures", status)) {
5053 return;
5054 }
5055 UnicodeString buffer;
5056 fmt.formatMeasures(measures, UPRV_LENGTHOF(measures), buffer, pos, status);
5057 if (!assertSuccess("Error formatting measures", status)) {
5058 return;
5059 }
5060 assertEquals("TestMultiples", UnicodeString(expected).unescape(), buffer);
5061 }
5062
TestManyLocaleDurations()5063 void MeasureFormatTest::TestManyLocaleDurations() {
5064 UErrorCode status = U_ZERO_ERROR;
5065 Measure measures[] = {
5066 Measure(5.0, MeasureUnit::createHour(status), status),
5067 Measure(37.0, MeasureUnit::createMinute(status), status)};
5068 if (!assertSuccess("Error creating measures", status)) {
5069 return;
5070 }
5071 helperTestManyLocaleDurations("da", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5 t og 37 m");
5072 helperTestManyLocaleDurations("da", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5.37");
5073 helperTestManyLocaleDurations("de", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5 Std., 37 Min.");
5074 helperTestManyLocaleDurations("de", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5075 helperTestManyLocaleDurations("en", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5h 37m");
5076 helperTestManyLocaleDurations("en", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5077 helperTestManyLocaleDurations("en_GB", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5h 37m");
5078 helperTestManyLocaleDurations("en_GB", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5079 helperTestManyLocaleDurations("es", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5h 37min");
5080 helperTestManyLocaleDurations("es", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5081 helperTestManyLocaleDurations("fi", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5t 37min");
5082 helperTestManyLocaleDurations("fi", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5.37");
5083 helperTestManyLocaleDurations("fr", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5h 37min");
5084 helperTestManyLocaleDurations("fr", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5085 helperTestManyLocaleDurations("is", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5 klst. og 37 m\\u00EDn.");
5086 helperTestManyLocaleDurations("is", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5087 helperTestManyLocaleDurations("ja", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5h37m");
5088 helperTestManyLocaleDurations("ja", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5089 helperTestManyLocaleDurations("nb", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5t, 37m");
5090 helperTestManyLocaleDurations("nb", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5091 helperTestManyLocaleDurations("nl", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5 u, 37 m");
5092 helperTestManyLocaleDurations("nl", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5093 helperTestManyLocaleDurations("nn", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5t 37m");
5094 helperTestManyLocaleDurations("nn", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5095 helperTestManyLocaleDurations("sv", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5h 37m");
5096 helperTestManyLocaleDurations("sv", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5097 helperTestManyLocaleDurations("zh", UMEASFMT_WIDTH_NARROW, measures, UPRV_LENGTHOF(measures), "5\\u5C0F\\u65F637\\u5206\\u949F");
5098 helperTestManyLocaleDurations("zh", UMEASFMT_WIDTH_NUMERIC, measures, UPRV_LENGTHOF(measures), "5:37");
5099 }
5100
helperTestManyLocaleDurations(const char * localeID,UMeasureFormatWidth width,const Measure * measures,int32_t measureCount,const char * expected)5101 void MeasureFormatTest::helperTestManyLocaleDurations( const char *localeID,
5102 UMeasureFormatWidth width,
5103 const Measure *measures,
5104 int32_t measureCount,
5105 const char *expected) {
5106 UErrorCode status = U_ZERO_ERROR;
5107 MeasureFormat fmt(Locale(localeID), width, status);
5108 if (U_FAILURE(status)) {
5109 errln("Could not create MeasureFormat for locale %s, width %d, status: %s", localeID, (int)width, u_errorName(status));
5110 return;
5111 }
5112 UnicodeString buffer;
5113 FieldPosition pos(FieldPosition::DONT_CARE);
5114 fmt.formatMeasures(measures, measureCount, buffer, pos, status);
5115 if (U_FAILURE(status)) {
5116 errln("MeasureFormat::formatMeasures failed for locale %s, width %d, status: %s", localeID, (int)width, u_errorName(status));
5117 return;
5118 }
5119 UnicodeString expStr(UnicodeString(expected).unescape());
5120 if (buffer != expStr) {
5121 errln("MeasureFormat::formatMeasures for locale " + UnicodeString(localeID) + ", width " + width + ", expected \"" + expStr + "\", got \"" + buffer + "\"");
5122 }
5123 }
5124
TestGram()5125 void MeasureFormatTest::TestGram() {
5126 UErrorCode status = U_ZERO_ERROR;
5127 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status);
5128 if (!assertSuccess("Error creating format object", status)) {
5129 return;
5130 }
5131 Measure gram((double)1, MeasureUnit::createGram(status), status);
5132 Measure gforce((double)1, MeasureUnit::createGForce(status), status);
5133 if (!assertSuccess("Error creating measures", status)) {
5134 return;
5135 }
5136 verifyFormat("TestGram", fmt, &gram, 1, "1 g");
5137 verifyFormat("TestGram", fmt, &gforce, 1, "1 G");
5138 }
5139
TestCurrencies()5140 void MeasureFormatTest::TestCurrencies() {
5141 char16_t USD[4] = {};
5142 u_uastrcpy(USD, "USD");
5143 UErrorCode status = U_ZERO_ERROR;
5144 CurrencyUnit USD_unit(USD, status);
5145 assertEquals("Currency Unit", USD, USD_unit.getISOCurrency());
5146 if (!assertSuccess("Error creating CurrencyUnit", status)) {
5147 return;
5148 }
5149 CurrencyAmount USD_1(1.0, USD, status);
5150 assertEquals("Currency Code", USD, USD_1.getISOCurrency());
5151 CurrencyAmount USD_2(2.0, USD, status);
5152 CurrencyAmount USD_NEG_1(-1.0, USD, status);
5153 if (!assertSuccess("Error creating currencies", status)) {
5154 return;
5155 }
5156 Locale en("en");
5157 MeasureFormat fmt(en, UMEASFMT_WIDTH_WIDE, status);
5158 if (!assertSuccess("Error creating format object", status)) {
5159 return;
5160 }
5161 verifyFormat("TestCurrenciesWide", fmt, &USD_NEG_1, 1, "-1.00 US dollars");
5162 verifyFormat("TestCurrenciesWide", fmt, &USD_1, 1, "1.00 US dollars");
5163 verifyFormat("TestCurrenciesWide", fmt, &USD_2, 1, "2.00 US dollars");
5164 fmt = MeasureFormat(en, UMEASFMT_WIDTH_SHORT, status);
5165 if (!assertSuccess("Error creating format object", status)) {
5166 return;
5167 }
5168 verifyFormat("TestCurrenciesShort", fmt, &USD_NEG_1, 1, "-USD\\u00A01.00");
5169 verifyFormat("TestCurrenciesShort", fmt, &USD_1, 1, "USD\\u00A01.00");
5170 verifyFormat("TestCurrenciesShort", fmt, &USD_2, 1, "USD\\u00A02.00");
5171 fmt = MeasureFormat(en, UMEASFMT_WIDTH_NARROW, status);
5172 if (!assertSuccess("Error creating format object", status)) {
5173 return;
5174 }
5175 verifyFormat("TestCurrenciesNarrow", fmt, &USD_NEG_1, 1, "-$1.00");
5176 verifyFormat("TestCurrenciesNarrow", fmt, &USD_1, 1, "$1.00");
5177 verifyFormat("TestCurrenciesNarrow", fmt, &USD_2, 1, "$2.00");
5178 fmt = MeasureFormat(en, UMEASFMT_WIDTH_NUMERIC, status);
5179 if (!assertSuccess("Error creating format object", status)) {
5180 return;
5181 }
5182 verifyFormat("TestCurrenciesNumeric", fmt, &USD_NEG_1, 1, "-$1.00");
5183 verifyFormat("TestCurrenciesNumeric", fmt, &USD_1, 1, "$1.00");
5184 verifyFormat("TestCurrenciesNumeric", fmt, &USD_2, 1, "$2.00");
5185 }
5186
TestDisplayNames()5187 void MeasureFormatTest::TestDisplayNames() {
5188 UErrorCode status = U_ZERO_ERROR;
5189 helperTestDisplayName( MeasureUnit::createYear(status), "en", UMEASFMT_WIDTH_WIDE, "years" );
5190 helperTestDisplayName( MeasureUnit::createYear(status), "ja", UMEASFMT_WIDTH_WIDE, "\\u5E74" );
5191 helperTestDisplayName( MeasureUnit::createYear(status), "es", UMEASFMT_WIDTH_WIDE, "a\\u00F1os" );
5192 helperTestDisplayName( MeasureUnit::createYear(status), "pt", UMEASFMT_WIDTH_WIDE, "anos" );
5193 helperTestDisplayName( MeasureUnit::createYear(status), "pt-PT", UMEASFMT_WIDTH_WIDE, "anos" );
5194 helperTestDisplayName( MeasureUnit::createAmpere(status), "en", UMEASFMT_WIDTH_WIDE, "amperes" );
5195 helperTestDisplayName( MeasureUnit::createAmpere(status), "ja", UMEASFMT_WIDTH_WIDE, "\\u30A2\\u30F3\\u30DA\\u30A2" );
5196 helperTestDisplayName( MeasureUnit::createAmpere(status), "es", UMEASFMT_WIDTH_WIDE, "amperios" );
5197 helperTestDisplayName( MeasureUnit::createAmpere(status), "pt", UMEASFMT_WIDTH_WIDE, "amperes" );
5198 helperTestDisplayName( MeasureUnit::createAmpere(status), "pt-PT", UMEASFMT_WIDTH_WIDE, "amperes" );
5199 helperTestDisplayName( MeasureUnit::createMeterPerSecondSquared(status), "pt", UMEASFMT_WIDTH_WIDE, "metros por segundo ao quadrado" );
5200 helperTestDisplayName( MeasureUnit::createMeterPerSecondSquared(status), "pt-PT", UMEASFMT_WIDTH_WIDE, "metros por segundo quadrado" );
5201 helperTestDisplayName( MeasureUnit::createSquareKilometer(status), "pt", UMEASFMT_WIDTH_NARROW, "km\\u00B2" );
5202 helperTestDisplayName( MeasureUnit::createSquareKilometer(status), "pt", UMEASFMT_WIDTH_SHORT, "km\\u00B2" );
5203 helperTestDisplayName( MeasureUnit::createSquareKilometer(status), "pt", UMEASFMT_WIDTH_WIDE, "quil\\u00F4metros quadrados" );
5204 helperTestDisplayName( MeasureUnit::createSecond(status), "pt-PT", UMEASFMT_WIDTH_NARROW, "s" );
5205 helperTestDisplayName( MeasureUnit::createSecond(status), "pt-PT", UMEASFMT_WIDTH_SHORT, "s" );
5206 helperTestDisplayName( MeasureUnit::createSecond(status), "pt-PT", UMEASFMT_WIDTH_WIDE, "segundos" );
5207 helperTestDisplayName( MeasureUnit::createSecond(status), "pt", UMEASFMT_WIDTH_NARROW, "s" );
5208 helperTestDisplayName( MeasureUnit::createSecond(status), "pt", UMEASFMT_WIDTH_SHORT, "s" );
5209 helperTestDisplayName( MeasureUnit::createSecond(status), "pt", UMEASFMT_WIDTH_WIDE, "segundos" );
5210 assertSuccess("Error creating measure units", status);
5211 }
5212
helperTestDisplayName(const MeasureUnit * unit,const char * localeID,UMeasureFormatWidth width,const char * expected)5213 void MeasureFormatTest::helperTestDisplayName(const MeasureUnit *unit,
5214 const char *localeID,
5215 UMeasureFormatWidth width,
5216 const char *expected) {
5217 UErrorCode status = U_ZERO_ERROR;
5218 MeasureFormat fmt(Locale(localeID), width, status);
5219 if (U_FAILURE(status)) {
5220 errln("Could not create MeasureFormat for locale %s, width %d, status: %s",
5221 localeID, (int)width, u_errorName(status));
5222 return;
5223 }
5224
5225 UnicodeString dnam = fmt.getUnitDisplayName(*unit, status);
5226 if (U_FAILURE(status)) {
5227 errln("MeasureFormat::getUnitDisplayName failed for unit %s-%s, locale %s, width %d, status: %s",
5228 unit->getType(), unit->getSubtype(), localeID, (int)width, u_errorName(status));
5229 return;
5230 }
5231
5232 UnicodeString expStr(UnicodeString(expected).unescape());
5233 if (dnam != expStr) {
5234 errln("MeasureFormat::getUnitDisplayName for unit %s-%s, locale %s, width %d: expected \"%s\", got \"%s\"",
5235 unit->getType(), unit->getSubtype(), localeID, (int)width, CStr(expStr)(), CStr(dnam)());
5236 }
5237
5238 // Delete the measure unit
5239 delete unit;
5240 }
5241
TestFieldPosition()5242 void MeasureFormatTest::TestFieldPosition() {
5243 UErrorCode status = U_ZERO_ERROR;
5244 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status);
5245 if (!assertSuccess("Error creating format object", status)) {
5246 return;
5247 }
5248 Measure measure(43.5, MeasureUnit::createFoot(status), status);
5249 if (!assertSuccess("Error creating measure object 1", status)) {
5250 return;
5251 }
5252 UnicodeString prefix("123456: ");
5253 verifyFieldPosition(
5254 "",
5255 fmt,
5256 prefix,
5257 &measure,
5258 1,
5259 NumberFormat::kDecimalSeparatorField,
5260 10,
5261 11);
5262 measure = Measure(43.0, MeasureUnit::createFoot(status), status);
5263 if (!assertSuccess("Error creating measure object 2", status)) {
5264 return;
5265 }
5266 verifyFieldPosition(
5267 "",
5268 fmt,
5269 prefix,
5270 &measure,
5271 1,
5272 NumberFormat::kDecimalSeparatorField,
5273 0,
5274 0);
5275 }
5276
TestFieldPositionMultiple()5277 void MeasureFormatTest::TestFieldPositionMultiple() {
5278 UErrorCode status = U_ZERO_ERROR;
5279 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status);
5280 if (!assertSuccess("Error creating format object", status)) {
5281 return;
5282 }
5283 Measure first[] = {
5284 Measure((double)354, MeasureUnit::createMeter(status), status),
5285 Measure((double)23, MeasureUnit::createCentimeter(status), status)};
5286 Measure second[] = {
5287 Measure((double)354, MeasureUnit::createMeter(status), status),
5288 Measure((double)23, MeasureUnit::createCentimeter(status), status),
5289 Measure((double)5.4, MeasureUnit::createMillimeter(status), status)};
5290 Measure third[] = {
5291 Measure((double)3, MeasureUnit::createMeter(status), status),
5292 Measure((double)23, MeasureUnit::createCentimeter(status), status),
5293 Measure((double)5, MeasureUnit::createMillimeter(status), status)};
5294 if (!assertSuccess("Error creating measure objects", status)) {
5295 return;
5296 }
5297 UnicodeString prefix("123456: ");
5298 verifyFieldPosition(
5299 "Integer",
5300 fmt,
5301 prefix,
5302 first,
5303 UPRV_LENGTHOF(first),
5304 NumberFormat::kIntegerField,
5305 8,
5306 11);
5307 verifyFieldPosition(
5308 "Decimal separator",
5309 fmt,
5310 prefix,
5311 second,
5312 UPRV_LENGTHOF(second),
5313 NumberFormat::kDecimalSeparatorField,
5314 23,
5315 24);
5316 verifyFieldPosition(
5317 "no decimal separator",
5318 fmt,
5319 prefix,
5320 third,
5321 UPRV_LENGTHOF(third),
5322 NumberFormat::kDecimalSeparatorField,
5323 0,
5324 0);
5325 }
5326
TestBadArg()5327 void MeasureFormatTest::TestBadArg() {
5328 UErrorCode status = U_ZERO_ERROR;
5329 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status);
5330 if (!assertSuccess("Error creating format object", status)) {
5331 return;
5332 }
5333 FieldPosition pos(FieldPosition::DONT_CARE);
5334 UnicodeString buffer;
5335 fmt.format(
5336 9.3,
5337 buffer,
5338 pos,
5339 status);
5340 if (status != U_ILLEGAL_ARGUMENT_ERROR) {
5341 errln("Expected ILLEGAL_ARGUMENT_ERROR");
5342 }
5343 }
5344
TestEquality()5345 void MeasureFormatTest::TestEquality() {
5346 UErrorCode status = U_ZERO_ERROR;
5347 NumberFormat* nfeq = NumberFormat::createInstance("en", status);
5348 NumberFormat* nfne = NumberFormat::createInstance("fr", status);
5349 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status);
5350 MeasureFormat fmtEq2("en", UMEASFMT_WIDTH_SHORT, nfeq, status);
5351 MeasureFormat fmtne1("en", UMEASFMT_WIDTH_WIDE, status);
5352 MeasureFormat fmtne2("fr", UMEASFMT_WIDTH_SHORT, status);
5353 MeasureFormat fmtne3("en", UMEASFMT_WIDTH_SHORT, nfne, status);
5354 if (U_FAILURE(status)) {
5355 dataerrln("Error creating MeasureFormats - %s", u_errorName(status));
5356 return;
5357 }
5358 MeasureFormat fmtEq(fmt);
5359 assertTrue("Equal", fmt == fmtEq);
5360 assertTrue("Equal2", fmt == fmtEq2);
5361 assertFalse("Equal Neg", fmt != fmtEq);
5362 assertTrue("Not Equal 1", fmt != fmtne1);
5363 assertFalse("Not Equal Neg 1", fmt == fmtne1);
5364 assertTrue("Not Equal 2", fmt != fmtne2);
5365 assertTrue("Not Equal 3", fmt != fmtne3);
5366 }
5367
TestGroupingSeparator()5368 void MeasureFormatTest::TestGroupingSeparator() {
5369 UErrorCode status = U_ZERO_ERROR;
5370 Locale en("en");
5371 MeasureFormat fmt(en, UMEASFMT_WIDTH_SHORT, status);
5372 if (!assertSuccess("Error creating format object", status)) {
5373 return;
5374 }
5375 Measure ms[] = {
5376 Measure((int32_t)INT32_MAX, MeasureUnit::createYear(status), status),
5377 Measure((int32_t)INT32_MIN, MeasureUnit::createMonth(status), status),
5378 Measure(-987.0, MeasureUnit::createDay(status), status),
5379 Measure(1362.0, MeasureUnit::createHour(status), status),
5380 Measure(987.0, MeasureUnit::createMinute(status), status)};
5381 FieldPosition pos(NumberFormat::kGroupingSeparatorField);
5382 UnicodeString appendTo;
5383 fmt.formatMeasures(ms, 5, appendTo, pos, status);
5384 if (!assertSuccess("Error formatting", status)) {
5385 return;
5386 }
5387 assertEquals(
5388 "grouping separator",
5389 "2,147,483,647 yrs, -2,147,483,648 mths, -987 days, 1,362 hr, 987 min",
5390 appendTo);
5391 assertEquals("begin index", 1, pos.getBeginIndex());
5392 assertEquals("end index", 2, pos.getEndIndex());
5393 }
5394
TestDoubleZero()5395 void MeasureFormatTest::TestDoubleZero() {
5396 UErrorCode status = U_ZERO_ERROR;
5397 Measure measures[] = {
5398 Measure(4.7, MeasureUnit::createHour(status), status),
5399 Measure(23.0, MeasureUnit::createMinute(status), status),
5400 Measure(16.0, MeasureUnit::createSecond(status), status)};
5401 Locale en("en");
5402 NumberFormat *nf = NumberFormat::createInstance(en, status);
5403 MeasureFormat fmt("en", UMEASFMT_WIDTH_WIDE, nf, status);
5404 UnicodeString appendTo;
5405 FieldPosition pos(FieldPosition::DONT_CARE);
5406 if (U_FAILURE(status)) {
5407 dataerrln("Error creating formatter - %s", u_errorName(status));
5408 return;
5409 }
5410 nf->setMinimumFractionDigits(2);
5411 nf->setMaximumFractionDigits(2);
5412 fmt.formatMeasures(measures, UPRV_LENGTHOF(measures), appendTo, pos, status);
5413 if (!assertSuccess("Error formatting", status)) {
5414 return;
5415 }
5416 assertEquals(
5417 "TestDoubleZero",
5418 UnicodeString("4 hours, 23 minutes, 16.00 seconds"),
5419 appendTo);
5420 measures[0] = Measure(-4.7, MeasureUnit::createHour(status), status);
5421 appendTo.remove();
5422 fmt.formatMeasures(measures, UPRV_LENGTHOF(measures), appendTo, pos, status);
5423 if (!assertSuccess("Error formatting", status)) {
5424 return;
5425 }
5426 assertEquals(
5427 "TestDoubleZero",
5428 UnicodeString("-4 hours, 23 minutes, 16.00 seconds"),
5429 appendTo);
5430 }
5431
TestUnitPerUnitResolution()5432 void MeasureFormatTest::TestUnitPerUnitResolution() {
5433 UErrorCode status = U_ZERO_ERROR;
5434 Locale en("en");
5435 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status);
5436 Measure measure(50.0, MeasureUnit::createPoundForce(status), status);
5437 LocalPointer<MeasureUnit> sqInch(MeasureUnit::createSquareInch(status));
5438 if (!assertSuccess("Create of format unit and per unit", status)) {
5439 return;
5440 }
5441 FieldPosition pos(FieldPosition::DONT_CARE);
5442 UnicodeString actual;
5443 fmt.formatMeasurePerUnit(
5444 measure,
5445 *sqInch,
5446 actual,
5447 pos,
5448 status);
5449 assertEquals("", "50 psi", actual);
5450 }
5451
TestIndividualPluralFallback()5452 void MeasureFormatTest::TestIndividualPluralFallback() {
5453 // See ticket #11986 "incomplete fallback in MeasureFormat".
5454 // In CLDR 28, fr_CA temperature-generic/short has only the "one" form,
5455 // and falls back to fr for the "other" form.
5456 IcuTestErrorCode errorCode(*this, "TestIndividualPluralFallback");
5457 MeasureFormat mf("fr_CA", UMEASFMT_WIDTH_SHORT, errorCode);
5458 if (errorCode.errIfFailureAndReset("MeasureFormat mf(...) failed.")) {
5459 return;
5460 }
5461 LocalPointer<Measure> twoDeg(
5462 new Measure(2.0, MeasureUnit::createGenericTemperature(errorCode), errorCode), errorCode);
5463 if (errorCode.errIfFailureAndReset("Creating twoDeg failed.")) {
5464 return;
5465 }
5466 UnicodeString expected = UNICODE_STRING_SIMPLE("2\\u00B0").unescape();
5467 UnicodeString actual;
5468 // Formattable adopts the pointer
5469 mf.format(Formattable(twoDeg.orphan()), actual, errorCode);
5470 if (errorCode.errIfFailureAndReset("mf.format(...) failed.")) {
5471 return;
5472 }
5473 assertEquals("2 deg temp in fr_CA", expected, actual, true);
5474 errorCode.errIfFailureAndReset("mf.format failed");
5475 }
5476
Test20332_PersonUnits()5477 void MeasureFormatTest::Test20332_PersonUnits() {
5478 IcuTestErrorCode status(*this, "Test20332_PersonUnits");
5479 const struct TestCase {
5480 const char* locale;
5481 MeasureUnit* unitToAdopt;
5482 UMeasureFormatWidth width;
5483 const char* expected;
5484 } cases[] = {
5485 {"en-us", MeasureUnit::createYearPerson(status), UMEASFMT_WIDTH_NARROW, "25y"},
5486 {"en-us", MeasureUnit::createYearPerson(status), UMEASFMT_WIDTH_SHORT, "25 yrs"},
5487 {"en-us", MeasureUnit::createYearPerson(status), UMEASFMT_WIDTH_WIDE, "25 years"},
5488 {"en-us", MeasureUnit::createMonthPerson(status), UMEASFMT_WIDTH_NARROW, "25m"},
5489 {"en-us", MeasureUnit::createMonthPerson(status), UMEASFMT_WIDTH_SHORT, "25 mths"},
5490 {"en-us", MeasureUnit::createMonthPerson(status), UMEASFMT_WIDTH_WIDE, "25 months"},
5491 {"en-us", MeasureUnit::createWeekPerson(status), UMEASFMT_WIDTH_NARROW, "25w"},
5492 {"en-us", MeasureUnit::createWeekPerson(status), UMEASFMT_WIDTH_SHORT, "25 wks"},
5493 {"en-us", MeasureUnit::createWeekPerson(status), UMEASFMT_WIDTH_WIDE, "25 weeks"},
5494 {"en-us", MeasureUnit::createDayPerson(status), UMEASFMT_WIDTH_NARROW, "25d"},
5495 {"en-us", MeasureUnit::createDayPerson(status), UMEASFMT_WIDTH_SHORT, "25 days"},
5496 {"en-us", MeasureUnit::createDayPerson(status), UMEASFMT_WIDTH_WIDE, "25 days"}
5497 };
5498 for (const auto& cas : cases) {
5499 MeasureFormat mf(cas.locale, cas.width, status);
5500 if (status.errIfFailureAndReset()) { return; }
5501 Measure measure(25, cas.unitToAdopt, status);
5502 if (status.errIfFailureAndReset()) { return; }
5503 verifyFormat(cas.locale, mf, &measure, 1, cas.expected);
5504 }
5505 }
5506
TestNumericTime()5507 void MeasureFormatTest::TestNumericTime() {
5508 IcuTestErrorCode status(*this, "TestNumericTime");
5509
5510 MeasureFormat fmt("en", UMEASFMT_WIDTH_NUMERIC, status);
5511
5512 Measure hours(112, MeasureUnit::createHour(status), status);
5513 Measure minutes(113, MeasureUnit::createMinute(status), status);
5514 Measure seconds(114, MeasureUnit::createSecond(status), status);
5515 Measure fhours(112.8765, MeasureUnit::createHour(status), status);
5516 Measure fminutes(113.8765, MeasureUnit::createMinute(status), status);
5517 Measure fseconds(114.8765, MeasureUnit::createSecond(status), status);
5518 if (status.errDataIfFailureAndReset(WHERE)) return;
5519
5520 verifyFormat("hours", fmt, &hours, 1, "112h");
5521 verifyFormat("minutes", fmt, &minutes, 1, "113m");
5522 verifyFormat("seconds", fmt, &seconds, 1, "114s");
5523
5524 verifyFormat("fhours", fmt, &fhours, 1, "112.876h");
5525 verifyFormat("fminutes", fmt, &fminutes, 1, "113.876m");
5526 verifyFormat("fseconds", fmt, &fseconds, 1, "114.876s");
5527
5528 Measure hoursMinutes[2] = {hours, minutes};
5529 verifyFormat("hoursMinutes", fmt, hoursMinutes, 2, "112:113");
5530 Measure hoursSeconds[2] = {hours, seconds};
5531 verifyFormat("hoursSeconds", fmt, hoursSeconds, 2, "112:00:114");
5532 Measure minutesSeconds[2] = {minutes, seconds};
5533 verifyFormat("minutesSeconds", fmt, minutesSeconds, 2, "113:114");
5534
5535 Measure hoursFminutes[2] = {hours, fminutes};
5536 verifyFormat("hoursFminutes", fmt, hoursFminutes, 2, "112:113.876");
5537 Measure hoursFseconds[2] = {hours, fseconds};
5538 verifyFormat("hoursFseconds", fmt, hoursFseconds, 2, "112:00:114.876");
5539 Measure minutesFseconds[2] = {minutes, fseconds};
5540 verifyFormat("hoursMminutesFsecondsinutes", fmt, minutesFseconds, 2, "113:114.876");
5541
5542 Measure fhoursMinutes[2] = {fhours, minutes};
5543 verifyFormat("fhoursMinutes", fmt, fhoursMinutes, 2, "112:113");
5544 Measure fhoursSeconds[2] = {fhours, seconds};
5545 verifyFormat("fhoursSeconds", fmt, fhoursSeconds, 2, "112:00:114");
5546 Measure fminutesSeconds[2] = {fminutes, seconds};
5547 verifyFormat("fminutesSeconds", fmt, fminutesSeconds, 2, "113:114");
5548
5549 Measure fhoursFminutes[2] = {fhours, fminutes};
5550 verifyFormat("fhoursFminutes", fmt, fhoursFminutes, 2, "112:113.876");
5551 Measure fhoursFseconds[2] = {fhours, fseconds};
5552 verifyFormat("fhoursFseconds", fmt, fhoursFseconds, 2, "112:00:114.876");
5553 Measure fminutesFseconds[2] = {fminutes, fseconds};
5554 verifyFormat("fminutesFseconds", fmt, fminutesFseconds, 2, "113:114.876");
5555
5556 Measure hoursMinutesSeconds[3] = {hours, minutes, seconds};
5557 verifyFormat("hoursMinutesSeconds", fmt, hoursMinutesSeconds, 3, "112:113:114");
5558 Measure fhoursFminutesFseconds[3] = {fhours, fminutes, fseconds};
5559 verifyFormat("fhoursFminutesFseconds", fmt, fhoursFminutesFseconds, 3, "112:113:114.876");
5560 }
5561
TestNumericTimeSomeSpecialFormats()5562 void MeasureFormatTest::TestNumericTimeSomeSpecialFormats() {
5563 IcuTestErrorCode status(*this, "TestNumericTimeSomeSpecialFormats");
5564
5565 Measure fhours(2.8765432, MeasureUnit::createHour(status), status);
5566 Measure fminutes(3.8765432, MeasureUnit::createMinute(status), status);
5567 if (status.errDataIfFailureAndReset(WHERE)) return;
5568
5569 Measure fhoursFminutes[2] = {fhours, fminutes};
5570
5571 // Latvian is one of the very few locales 0-padding the hour
5572 MeasureFormat fmtLt("lt", UMEASFMT_WIDTH_NUMERIC, status);
5573 if (status.errDataIfFailureAndReset(WHERE)) return;
5574 verifyFormat("Latvian fhoursFminutes", fmtLt, fhoursFminutes, 2, "02:03,877");
5575
5576 // Danish is one of the very few locales using '.' as separator
5577 MeasureFormat fmtDa("da", UMEASFMT_WIDTH_NUMERIC, status);
5578 verifyFormat("Danish fhoursFminutes", fmtDa, fhoursFminutes, 2, "2.03,877");
5579 }
5580
TestIdentifiers()5581 void MeasureFormatTest::TestIdentifiers() {
5582 IcuTestErrorCode status(*this, "TestIdentifiers");
5583 struct TestCase {
5584 const char* id;
5585 const char* normalized;
5586 } cases[] = {
5587 // Correctly normalized identifiers should not change
5588 {"", ""},
5589 {"square-meter-per-square-meter", "square-meter-per-square-meter"},
5590 {"kilogram-meter-per-square-meter-square-second",
5591 "kilogram-meter-per-square-meter-square-second"},
5592 {"square-mile-and-square-foot", "square-mile-and-square-foot"},
5593 {"square-foot-and-square-mile", "square-foot-and-square-mile"},
5594 {"per-cubic-centimeter", "per-cubic-centimeter"},
5595 {"per-kilometer", "per-kilometer"},
5596
5597 // Normalization of power and per
5598 {"pow2-foot-and-pow2-mile", "square-foot-and-square-mile"},
5599 {"gram-square-gram-per-dekagram", "cubic-gram-per-dekagram"},
5600 {"kilogram-per-meter-per-second", "kilogram-per-meter-second"},
5601 {"kilometer-per-second-per-megaparsec", "kilometer-per-megaparsec-second"},
5602
5603 // Correct order of units, as per unitQuantities in CLDR's units.xml
5604 {"newton-meter", "newton-meter"},
5605 {"meter-newton", "newton-meter"},
5606 {"pound-force-foot", "pound-force-foot"},
5607 {"foot-pound-force", "pound-force-foot"},
5608 {"kilowatt-hour", "kilowatt-hour"},
5609 {"hour-kilowatt", "kilowatt-hour"},
5610
5611 // Testing prefixes are parsed and produced correctly (ensures no
5612 // collisions in the enum values)
5613 {"yoctofoot", "yoctofoot"},
5614 {"zeptofoot", "zeptofoot"},
5615 {"attofoot", "attofoot"},
5616 {"femtofoot", "femtofoot"},
5617 {"picofoot", "picofoot"},
5618 {"nanofoot", "nanofoot"},
5619 {"microfoot", "microfoot"},
5620 {"millifoot", "millifoot"},
5621 {"centifoot", "centifoot"},
5622 {"decifoot", "decifoot"},
5623 {"foot", "foot"},
5624 {"dekafoot", "dekafoot"},
5625 {"hectofoot", "hectofoot"},
5626 {"kilofoot", "kilofoot"},
5627 {"megafoot", "megafoot"},
5628 {"gigafoot", "gigafoot"},
5629 {"terafoot", "terafoot"},
5630 {"petafoot", "petafoot"},
5631 {"exafoot", "exafoot"},
5632 {"zettafoot", "zettafoot"},
5633 {"yottafoot", "yottafoot"},
5634 {"kibibyte", "kibibyte"},
5635 {"mebibyte", "mebibyte"},
5636 {"gibibyte", "gibibyte"},
5637 {"tebibyte", "tebibyte"},
5638 {"pebibyte", "pebibyte"},
5639 {"exbibyte", "exbibyte"},
5640 {"zebibyte", "zebibyte"},
5641 {"yobibyte", "yobibyte"},
5642
5643 // Testing aliases
5644 {"foodcalorie", "foodcalorie"},
5645 {"dot-per-centimeter", "dot-per-centimeter"},
5646 {"dot-per-inch", "dot-per-inch"},
5647 {"dot", "dot"},
5648
5649 // Testing sort order of prefixes.
5650 {"megafoot-mebifoot-kibifoot-kilofoot", "mebifoot-megafoot-kibifoot-kilofoot"},
5651 {"per-megafoot-mebifoot-kibifoot-kilofoot", "per-mebifoot-megafoot-kibifoot-kilofoot"},
5652 {"megafoot-mebifoot-kibifoot-kilofoot-per-megafoot-mebifoot-kibifoot-kilofoot",
5653 "mebifoot-megafoot-kibifoot-kilofoot-per-mebifoot-megafoot-kibifoot-kilofoot"},
5654 {"microfoot-millifoot-megafoot-mebifoot-kibifoot-kilofoot",
5655 "mebifoot-megafoot-kibifoot-kilofoot-millifoot-microfoot"},
5656 {"per-microfoot-millifoot-megafoot-mebifoot-kibifoot-kilofoot",
5657 "per-mebifoot-megafoot-kibifoot-kilofoot-millifoot-microfoot"},
5658 };
5659 for (const auto &cas : cases) {
5660 status.setScope(cas.id);
5661 MeasureUnit unit = MeasureUnit::forIdentifier(cas.id, status);
5662 status.errIfFailureAndReset();
5663 const char* actual = unit.getIdentifier();
5664 assertEquals(cas.id, cas.normalized, actual);
5665 status.errIfFailureAndReset();
5666 }
5667 }
5668
TestInvalidIdentifiers()5669 void MeasureFormatTest::TestInvalidIdentifiers() {
5670 IcuTestErrorCode status(*this, "TestInvalidIdentifiers");
5671
5672 const char *const inputs[] = {
5673 "kilo",
5674 "kilokilo",
5675 "onekilo",
5676 "meterkilo",
5677 "meter-kilo",
5678 "k",
5679 "meter-",
5680 "meter+",
5681 "-meter",
5682 "+meter",
5683 "-kilometer",
5684 "+kilometer",
5685 "-pow2-meter",
5686 "+pow2-meter",
5687 "p2-meter",
5688 "p4-meter",
5689 "+",
5690 "-",
5691 "-mile",
5692 "-and-mile",
5693 "-per-mile",
5694 "one",
5695 "one-one",
5696 "one-per-mile",
5697 "one-per-cubic-centimeter",
5698 "square--per-meter",
5699 "metersecond", // Must have compound part in between single units
5700
5701 // Negative powers not supported in mixed units yet. TODO(CLDR-13701).
5702 "per-hour-and-hertz",
5703 "hertz-and-per-hour",
5704
5705 // Compound units not supported in mixed units yet. TODO(CLDR-13701).
5706 "kilonewton-meter-and-newton-meter",
5707 };
5708
5709 for (const auto& input : inputs) {
5710 status.setScope(input);
5711 MeasureUnit::forIdentifier(input, status);
5712 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
5713 }
5714 }
5715
TestIdentifierDetails()5716 void MeasureFormatTest::TestIdentifierDetails() {
5717 IcuTestErrorCode status(*this, "TestIdentifierDetails()");
5718
5719 MeasureUnit joule = MeasureUnit::forIdentifier("joule", status);
5720 status.assertSuccess();
5721 assertEquals("Initial joule", "joule", joule.getIdentifier());
5722
5723 static_assert(UMEASURE_PREFIX_INTERNAL_MAX_SI < 99, "Tests assume there is no prefix 99.");
5724 static_assert(UMEASURE_PREFIX_INTERNAL_MAX_BIN < 99, "Tests assume there is no prefix 99.");
5725 MeasureUnit unit = joule.withPrefix((UMeasurePrefix)99, status);
5726 if (!status.expectErrorAndReset(U_UNSUPPORTED_ERROR)) {
5727 errln("Invalid prefix should result in an error.");
5728 }
5729 assertEquals("Invalid prefix results in no identifier", "", unit.getIdentifier());
5730
5731 unit = joule.withPrefix(UMEASURE_PREFIX_HECTO, status);
5732 status.assertSuccess();
5733 assertEquals("foo identifier", "hectojoule", unit.getIdentifier());
5734
5735 unit = unit.withPrefix(UMEASURE_PREFIX_EXBI, status);
5736 status.assertSuccess();
5737 assertEquals("foo identifier", "exbijoule", unit.getIdentifier());
5738 }
5739
TestPrefixes()5740 void MeasureFormatTest::TestPrefixes() {
5741 IcuTestErrorCode status(*this, "TestPrefixes()");
5742 const struct TestCase {
5743 UMeasurePrefix prefix;
5744 int32_t expectedBase;
5745 int32_t expectedPower;
5746 } cases[] = {
5747 {UMEASURE_PREFIX_QUECTO, 10, -30},
5748 {UMEASURE_PREFIX_RONTO, 10, -27},
5749 {UMEASURE_PREFIX_YOCTO, 10, -24},
5750 {UMEASURE_PREFIX_ZEPTO, 10, -21},
5751 {UMEASURE_PREFIX_ATTO, 10, -18},
5752 {UMEASURE_PREFIX_FEMTO, 10, -15},
5753 {UMEASURE_PREFIX_PICO, 10, -12},
5754 {UMEASURE_PREFIX_NANO, 10, -9},
5755 {UMEASURE_PREFIX_MICRO, 10, -6},
5756 {UMEASURE_PREFIX_MILLI, 10, -3},
5757 {UMEASURE_PREFIX_CENTI, 10, -2},
5758 {UMEASURE_PREFIX_DECI, 10, -1},
5759 {UMEASURE_PREFIX_ONE, 10, 0},
5760 {UMEASURE_PREFIX_DEKA, 10, 1},
5761 {UMEASURE_PREFIX_HECTO, 10, 2},
5762 {UMEASURE_PREFIX_KILO, 10, 3},
5763 {UMEASURE_PREFIX_MEGA, 10, 6},
5764 {UMEASURE_PREFIX_GIGA, 10, 9},
5765 {UMEASURE_PREFIX_TERA, 10, 12},
5766 {UMEASURE_PREFIX_PETA, 10, 15},
5767 {UMEASURE_PREFIX_EXA, 10, 18},
5768 {UMEASURE_PREFIX_ZETTA, 10, 21},
5769 {UMEASURE_PREFIX_YOTTA, 10, 24},
5770 {UMEASURE_PREFIX_RONNA, 10, 27},
5771 {UMEASURE_PREFIX_QUETTA, 10, 30},
5772 {UMEASURE_PREFIX_KIBI, 1024, 1},
5773 {UMEASURE_PREFIX_MEBI, 1024, 2},
5774 {UMEASURE_PREFIX_GIBI, 1024, 3},
5775 {UMEASURE_PREFIX_TEBI, 1024, 4},
5776 {UMEASURE_PREFIX_PEBI, 1024, 5},
5777 {UMEASURE_PREFIX_EXBI, 1024, 6},
5778 {UMEASURE_PREFIX_ZEBI, 1024, 7},
5779 {UMEASURE_PREFIX_YOBI, 1024, 8},
5780 };
5781
5782 for (auto cas : cases) {
5783 MeasureUnit m = MeasureUnit::getAmpere().withPrefix(cas.prefix, status);
5784 assertEquals("umeas_getPrefixPower()", cas.expectedPower,
5785 umeas_getPrefixPower(m.getPrefix(status)));
5786 assertEquals("umeas_getPrefixBase()", cas.expectedBase,
5787 umeas_getPrefixBase(m.getPrefix(status)));
5788 }
5789 }
5790
TestParseBuiltIns()5791 void MeasureFormatTest::TestParseBuiltIns() {
5792 IcuTestErrorCode status(*this, "TestParseBuiltIns()");
5793 int32_t totalCount = MeasureUnit::getAvailable(nullptr, 0, status);
5794 status.expectErrorAndReset(U_BUFFER_OVERFLOW_ERROR);
5795 std::unique_ptr<MeasureUnit[]> units(new MeasureUnit[totalCount]);
5796 totalCount = MeasureUnit::getAvailable(units.get(), totalCount, status);
5797 status.assertSuccess();
5798 for (int32_t i = 0; i < totalCount; i++) {
5799 MeasureUnit &unit = units[i];
5800 if (uprv_strcmp(unit.getType(), "currency") == 0) {
5801 continue;
5802 }
5803
5804 // Prove that all built-in units are parseable, except "generic" temperature:
5805 MeasureUnit parsed = MeasureUnit::forIdentifier(unit.getIdentifier(), status);
5806 if (unit == MeasureUnit::getGenericTemperature()) {
5807 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
5808 } else {
5809 status.assertSuccess();
5810 CharString msg;
5811 msg.append("parsed MeasureUnit '", status);
5812 msg.append(parsed.getIdentifier(), status);
5813 msg.append("' should equal built-in '", status);
5814 msg.append(unit.getIdentifier(), status);
5815 msg.append("'", status);
5816 status.assertSuccess();
5817 assertTrue(msg.data(), unit == parsed);
5818 }
5819 }
5820 }
5821
TestParseToBuiltIn()5822 void MeasureFormatTest::TestParseToBuiltIn() {
5823 IcuTestErrorCode status(*this, "TestParseToBuiltIn()");
5824 const struct TestCase {
5825 const char *identifier;
5826 MeasureUnit expectedBuiltIn;
5827 } cases[] = {
5828 {"meter-per-second-per-second", MeasureUnit::getMeterPerSecondSquared()},
5829 {"meter-per-second-second", MeasureUnit::getMeterPerSecondSquared()},
5830 {"centimeter-centimeter", MeasureUnit::getSquareCentimeter()},
5831 {"square-foot", MeasureUnit::getSquareFoot()},
5832 {"pow2-inch", MeasureUnit::getSquareInch()},
5833 {"milligram-per-deciliter", MeasureUnit::getMilligramPerDeciliter()},
5834 {"pound-force-per-pow2-inch", MeasureUnit::getPoundPerSquareInch()},
5835 {"yard-pow2-yard", MeasureUnit::getCubicYard()},
5836 {"square-yard-yard", MeasureUnit::getCubicYard()},
5837 };
5838
5839 for (const auto& cas : cases) {
5840 MeasureUnit fromIdent = MeasureUnit::forIdentifier(cas.identifier, status);
5841 status.assertSuccess();
5842 assertEquals("forIdentifier returns a normal built-in unit when it exists",
5843 cas.expectedBuiltIn.getOffset(), fromIdent.getOffset());
5844 assertEquals("type", cas.expectedBuiltIn.getType(), fromIdent.getType());
5845 assertEquals("subType", cas.expectedBuiltIn.getSubtype(), fromIdent.getSubtype());
5846 }
5847 }
5848
5849 // Kilogram is a "base unit", although it's also "gram" with a kilo- prefix.
5850 // This tests that it is handled in the preferred manner.
TestKilogramIdentifier()5851 void MeasureFormatTest::TestKilogramIdentifier() {
5852 IcuTestErrorCode status(*this, "TestKilogramIdentifier");
5853
5854 // SI unit of mass
5855 MeasureUnit kilogram = MeasureUnit::forIdentifier("kilogram", status);
5856 // Metric mass unit
5857 MeasureUnit gram = MeasureUnit::forIdentifier("gram", status);
5858 // Microgram: still a built-in type
5859 MeasureUnit microgram = MeasureUnit::forIdentifier("microgram", status);
5860 // Nanogram: not a built-in type at this time
5861 MeasureUnit nanogram = MeasureUnit::forIdentifier("nanogram", status);
5862 status.assertSuccess();
5863
5864 assertEquals("parsed kilogram equals built-in kilogram", MeasureUnit::getKilogram().getType(),
5865 kilogram.getType());
5866 assertEquals("parsed kilogram equals built-in kilogram", MeasureUnit::getKilogram().getSubtype(),
5867 kilogram.getSubtype());
5868 assertEquals("parsed gram equals built-in gram", MeasureUnit::getGram().getType(), gram.getType());
5869 assertEquals("parsed gram equals built-in gram", MeasureUnit::getGram().getSubtype(),
5870 gram.getSubtype());
5871 assertEquals("parsed microgram equals built-in microgram", MeasureUnit::getMicrogram().getType(),
5872 microgram.getType());
5873 assertEquals("parsed microgram equals built-in microgram", MeasureUnit::getMicrogram().getSubtype(),
5874 microgram.getSubtype());
5875 assertEquals("nanogram", "", nanogram.getType());
5876 assertEquals("nanogram", "nanogram", nanogram.getIdentifier());
5877
5878 assertEquals("prefix of kilogram", UMEASURE_PREFIX_KILO, kilogram.getPrefix(status));
5879 assertEquals("prefix of gram", UMEASURE_PREFIX_ONE, gram.getPrefix(status));
5880 assertEquals("prefix of microgram", UMEASURE_PREFIX_MICRO, microgram.getPrefix(status));
5881 assertEquals("prefix of nanogram", UMEASURE_PREFIX_NANO, nanogram.getPrefix(status));
5882
5883 MeasureUnit tmp = kilogram.withPrefix(UMEASURE_PREFIX_MILLI, status);
5884 assertEquals(UnicodeString("Kilogram + milli should be milligram, got: ") + tmp.getIdentifier(),
5885 MeasureUnit::getMilligram().getIdentifier(), tmp.getIdentifier());
5886 }
5887
TestCompoundUnitOperations()5888 void MeasureFormatTest::TestCompoundUnitOperations() {
5889 IcuTestErrorCode status(*this, "TestCompoundUnitOperations");
5890
5891 MeasureUnit::forIdentifier("kilometer-per-second-joule", status);
5892
5893 MeasureUnit kilometer = MeasureUnit::getKilometer();
5894 MeasureUnit cubicMeter = MeasureUnit::getCubicMeter();
5895 MeasureUnit meter = kilometer.withPrefix(UMEASURE_PREFIX_ONE, status);
5896 MeasureUnit centimeter1 = kilometer.withPrefix(UMEASURE_PREFIX_CENTI, status);
5897 MeasureUnit centimeter2 = meter.withPrefix(UMEASURE_PREFIX_CENTI, status);
5898 MeasureUnit cubicDecimeter = cubicMeter.withPrefix(UMEASURE_PREFIX_DECI, status);
5899
5900 verifySingleUnit(kilometer, UMEASURE_PREFIX_KILO, 1, "kilometer");
5901 verifySingleUnit(meter, UMEASURE_PREFIX_ONE, 1, "meter");
5902 verifySingleUnit(centimeter1, UMEASURE_PREFIX_CENTI, 1, "centimeter");
5903 verifySingleUnit(centimeter2, UMEASURE_PREFIX_CENTI, 1, "centimeter");
5904 verifySingleUnit(cubicDecimeter, UMEASURE_PREFIX_DECI, 3, "cubic-decimeter");
5905
5906 assertTrue("centimeter equality", centimeter1 == centimeter2);
5907 assertTrue("kilometer inequality", centimeter1 != kilometer);
5908
5909 MeasureUnit squareMeter = meter.withDimensionality(2, status);
5910 MeasureUnit overCubicCentimeter = centimeter1.withDimensionality(-3, status);
5911 MeasureUnit quarticKilometer = kilometer.withDimensionality(4, status);
5912 MeasureUnit overQuarticKilometer1 = kilometer.withDimensionality(-4, status);
5913
5914 verifySingleUnit(squareMeter, UMEASURE_PREFIX_ONE, 2, "square-meter");
5915 verifySingleUnit(overCubicCentimeter, UMEASURE_PREFIX_CENTI, -3, "per-cubic-centimeter");
5916 verifySingleUnit(quarticKilometer, UMEASURE_PREFIX_KILO, 4, "pow4-kilometer");
5917 verifySingleUnit(overQuarticKilometer1, UMEASURE_PREFIX_KILO, -4, "per-pow4-kilometer");
5918
5919 assertTrue("power inequality", quarticKilometer != overQuarticKilometer1);
5920
5921 MeasureUnit overQuarticKilometer2 = quarticKilometer.reciprocal(status);
5922 MeasureUnit overQuarticKilometer3 = kilometer.product(kilometer, status)
5923 .product(kilometer, status)
5924 .product(kilometer, status)
5925 .reciprocal(status);
5926 MeasureUnit overQuarticKilometer4 = meter.withDimensionality(4, status)
5927 .reciprocal(status)
5928 .withPrefix(UMEASURE_PREFIX_KILO, status);
5929
5930 verifySingleUnit(overQuarticKilometer2, UMEASURE_PREFIX_KILO, -4, "per-pow4-kilometer");
5931 verifySingleUnit(overQuarticKilometer3, UMEASURE_PREFIX_KILO, -4, "per-pow4-kilometer");
5932 verifySingleUnit(overQuarticKilometer4, UMEASURE_PREFIX_KILO, -4, "per-pow4-kilometer");
5933
5934 assertTrue("reciprocal equality", overQuarticKilometer1 == overQuarticKilometer2);
5935 assertTrue("reciprocal equality", overQuarticKilometer1 == overQuarticKilometer3);
5936 assertTrue("reciprocal equality", overQuarticKilometer1 == overQuarticKilometer4);
5937
5938 MeasureUnit kiloSquareSecond = MeasureUnit::getSecond()
5939 .withDimensionality(2, status).withPrefix(UMEASURE_PREFIX_KILO, status);
5940 MeasureUnit meterSecond = meter.product(kiloSquareSecond, status);
5941 MeasureUnit cubicMeterSecond1 = meter.withDimensionality(3, status).product(kiloSquareSecond, status);
5942 MeasureUnit centimeterSecond1 = meter.withPrefix(UMEASURE_PREFIX_CENTI, status).product(kiloSquareSecond, status);
5943 MeasureUnit secondCubicMeter = kiloSquareSecond.product(meter.withDimensionality(3, status), status);
5944 MeasureUnit secondCentimeter = kiloSquareSecond.product(meter.withPrefix(UMEASURE_PREFIX_CENTI, status), status);
5945 MeasureUnit secondCentimeterPerKilometer = secondCentimeter.product(kilometer.reciprocal(status), status);
5946
5947 verifySingleUnit(kiloSquareSecond, UMEASURE_PREFIX_KILO, 2, "square-kilosecond");
5948 const char* meterSecondSub[] = {"meter", "square-kilosecond"};
5949 verifyCompoundUnit(meterSecond, "meter-square-kilosecond",
5950 meterSecondSub, UPRV_LENGTHOF(meterSecondSub));
5951 const char* cubicMeterSecond1Sub[] = {"cubic-meter", "square-kilosecond"};
5952 verifyCompoundUnit(cubicMeterSecond1, "cubic-meter-square-kilosecond",
5953 cubicMeterSecond1Sub, UPRV_LENGTHOF(cubicMeterSecond1Sub));
5954 const char* centimeterSecond1Sub[] = {"centimeter", "square-kilosecond"};
5955 verifyCompoundUnit(centimeterSecond1, "centimeter-square-kilosecond",
5956 centimeterSecond1Sub, UPRV_LENGTHOF(centimeterSecond1Sub));
5957 const char* secondCubicMeterSub[] = {"cubic-meter", "square-kilosecond"};
5958 verifyCompoundUnit(secondCubicMeter, "cubic-meter-square-kilosecond",
5959 secondCubicMeterSub, UPRV_LENGTHOF(secondCubicMeterSub));
5960 const char* secondCentimeterSub[] = {"centimeter", "square-kilosecond"};
5961 verifyCompoundUnit(secondCentimeter, "centimeter-square-kilosecond",
5962 secondCentimeterSub, UPRV_LENGTHOF(secondCentimeterSub));
5963 const char* secondCentimeterPerKilometerSub[] = {"centimeter", "square-kilosecond", "per-kilometer"};
5964 verifyCompoundUnit(secondCentimeterPerKilometer, "centimeter-square-kilosecond-per-kilometer",
5965 secondCentimeterPerKilometerSub, UPRV_LENGTHOF(secondCentimeterPerKilometerSub));
5966
5967 assertTrue("reordering equality", cubicMeterSecond1 == secondCubicMeter);
5968 assertTrue("additional simple units inequality", secondCubicMeter != secondCentimeter);
5969
5970 // Don't allow get/set power or SI or binary prefix on compound units
5971 status.errIfFailureAndReset();
5972 meterSecond.getDimensionality(status);
5973 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
5974 meterSecond.withDimensionality(3, status);
5975 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
5976 meterSecond.getPrefix(status);
5977 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
5978 meterSecond.withPrefix(UMEASURE_PREFIX_CENTI, status);
5979 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
5980
5981 // Test that StringPiece does not overflow
5982 MeasureUnit centimeter3 = MeasureUnit::forIdentifier({secondCentimeter.getIdentifier(), 10}, status);
5983 verifySingleUnit(centimeter3, UMEASURE_PREFIX_CENTI, 1, "centimeter");
5984 assertTrue("string piece equality", centimeter1 == centimeter3);
5985
5986 MeasureUnit footInch = MeasureUnit::forIdentifier("foot-and-inch", status);
5987 MeasureUnit inchFoot = MeasureUnit::forIdentifier("inch-and-foot", status);
5988
5989 const char* footInchSub[] = {"foot", "inch"};
5990 verifyMixedUnit(footInch, "foot-and-inch",
5991 footInchSub, UPRV_LENGTHOF(footInchSub));
5992 const char* inchFootSub[] = {"inch", "foot"};
5993 verifyMixedUnit(inchFoot, "inch-and-foot",
5994 inchFootSub, UPRV_LENGTHOF(inchFootSub));
5995
5996 assertTrue("order matters inequality", footInch != inchFoot);
5997
5998 MeasureUnit dimensionless;
5999 MeasureUnit dimensionless2 = MeasureUnit::forIdentifier("", status);
6000 status.errIfFailureAndReset("Dimensionless MeasureUnit.");
6001 assertTrue("dimensionless equality", dimensionless == dimensionless2);
6002
6003 // We support starting from an "identity" MeasureUnit and then combining it
6004 // with others via product:
6005 MeasureUnit kilometer2 = dimensionless.product(kilometer, status);
6006 status.errIfFailureAndReset("dimensionless.product(kilometer, status)");
6007 verifySingleUnit(kilometer2, UMEASURE_PREFIX_KILO, 1, "kilometer");
6008 assertTrue("kilometer equality", kilometer == kilometer2);
6009
6010 // Test out-of-range powers
6011 MeasureUnit power15 = MeasureUnit::forIdentifier("pow15-kilometer", status);
6012 verifySingleUnit(power15, UMEASURE_PREFIX_KILO, 15, "pow15-kilometer");
6013 status.errIfFailureAndReset();
6014 MeasureUnit power16a = MeasureUnit::forIdentifier("pow16-kilometer", status);
6015 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
6016 MeasureUnit power16b = power15.product(kilometer, status);
6017 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
6018 MeasureUnit powerN15 = MeasureUnit::forIdentifier("per-pow15-kilometer", status);
6019 verifySingleUnit(powerN15, UMEASURE_PREFIX_KILO, -15, "per-pow15-kilometer");
6020 status.errIfFailureAndReset();
6021 MeasureUnit powerN16a = MeasureUnit::forIdentifier("per-pow16-kilometer", status);
6022 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
6023 MeasureUnit powerN16b = powerN15.product(overQuarticKilometer1, status);
6024 status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
6025 }
6026
TestDimensionlessBehaviour()6027 void MeasureFormatTest::TestDimensionlessBehaviour() {
6028 IcuTestErrorCode status(*this, "TestDimensionlessBehaviour");
6029 MeasureUnit dimensionless;
6030 MeasureUnit modified;
6031
6032 // At the time of writing, each of the seven groups below caused
6033 // Parser::from("") to be called:
6034
6035 // splitToSingleUnits
6036 auto pair = dimensionless.splitToSingleUnits(status);
6037 int32_t count = pair.second;
6038 status.errIfFailureAndReset("dimensionless.splitToSingleUnits(...)");
6039 assertEquals("no singles in dimensionless", 0, count);
6040
6041 // product(dimensionless)
6042 MeasureUnit mile = MeasureUnit::getMile();
6043 mile = mile.product(dimensionless, status);
6044 status.errIfFailureAndReset("mile.product(dimensionless, ...)");
6045 verifySingleUnit(mile, UMEASURE_PREFIX_ONE, 1, "mile");
6046
6047 // dimensionless.getPrefix()
6048 UMeasurePrefix unitPrefix = dimensionless.getPrefix(status);
6049 status.errIfFailureAndReset("dimensionless.getPrefix(...)");
6050 assertEquals("dimensionless SIPrefix", UMEASURE_PREFIX_ONE, unitPrefix);
6051
6052 // dimensionless.withPrefix()
6053 modified = dimensionless.withPrefix(UMEASURE_PREFIX_KILO, status);
6054 status.errIfFailureAndReset("dimensionless.withPrefix(...)");
6055 pair = dimensionless.splitToSingleUnits(status);
6056 count = pair.second;
6057 assertEquals("no singles in modified", 0, count);
6058 unitPrefix = modified.getPrefix(status);
6059 status.errIfFailureAndReset("modified.getPrefix(...)");
6060 assertEquals("modified SIPrefix", UMEASURE_PREFIX_ONE, unitPrefix);
6061
6062 // dimensionless.getComplexity()
6063 UMeasureUnitComplexity complexity = dimensionless.getComplexity(status);
6064 status.errIfFailureAndReset("dimensionless.getComplexity(...)");
6065 assertEquals("dimensionless complexity", UMEASURE_UNIT_SINGLE, complexity);
6066
6067 // Dimensionality is mostly meaningless for dimensionless units, but it's
6068 // still considered a SINGLE unit, so this code doesn't throw errors:
6069
6070 // dimensionless.getDimensionality()
6071 int32_t dimensionality = dimensionless.getDimensionality(status);
6072 status.errIfFailureAndReset("dimensionless.getDimensionality(...)");
6073 assertEquals("dimensionless dimensionality", 0, dimensionality);
6074
6075 // dimensionless.withDimensionality()
6076 dimensionless.withDimensionality(-1, status);
6077 status.errIfFailureAndReset("dimensionless.withDimensionality(...)");
6078 dimensionality = dimensionless.getDimensionality(status);
6079 status.errIfFailureAndReset("dimensionless.getDimensionality(...)");
6080 assertEquals("dimensionless dimensionality", 0, dimensionality);
6081 }
6082
6083 // ICU-21060
Test21060_AddressSanitizerProblem()6084 void MeasureFormatTest::Test21060_AddressSanitizerProblem() {
6085 IcuTestErrorCode status(*this, "Test21060_AddressSanitizerProblem");
6086
6087 MeasureUnit first = MeasureUnit::forIdentifier("", status);
6088 status.errIfFailureAndReset();
6089
6090 // Experimentally, a compound unit like "kilogram-meter" failed. A single
6091 // unit like "kilogram" or "meter" did not fail, did not trigger the
6092 // problem.
6093 MeasureUnit crux = MeasureUnit::forIdentifier("per-meter", status);
6094
6095 // Heap allocation of a new CharString for first.identifier happens here:
6096 first = first.product(crux, status);
6097
6098 // Constructing second from first's identifier resulted in a failure later,
6099 // as second held a reference to a substring of first's identifier:
6100 MeasureUnit second = MeasureUnit::forIdentifier(first.getIdentifier(), status);
6101
6102 // Heap is freed here, as an old first.identifier CharString is deallocated
6103 // and a new CharString is allocated:
6104 first = first.product(crux, status);
6105
6106 // Proving we've had no failure yet:
6107 status.errIfFailureAndReset();
6108
6109 // heap-use-after-free failure happened here, since a SingleUnitImpl had
6110 // held onto a StringPiece pointing at a substring of an identifier that was
6111 // freed above:
6112 second = second.product(crux, status);
6113
6114 status.errIfFailureAndReset();
6115 }
6116
Test21223_FrenchDuration()6117 void MeasureFormatTest::Test21223_FrenchDuration() {
6118 IcuTestErrorCode status(*this, "Test21223_FrenchDuration");
6119 MeasureFormat mf("fr-FR", UMEASFMT_WIDTH_NARROW, status);
6120 Measure H5M10[] = {
6121 {5, MeasureUnit::createHour(status), status},
6122 {10, MeasureUnit::createMinute(status), status}
6123 };
6124 UnicodeString result;
6125 FieldPosition pos;
6126 mf.formatMeasures(H5M10, UPRV_LENGTHOF(H5M10), result, pos, status);
6127 assertEquals("Should have consistent spacing", u"5h 10min", result);
6128
6129 // Test additional locales:
6130 // int32_t localeCount;
6131 // const Locale* locales = Locale::getAvailableLocales(localeCount);
6132 // for (int32_t i=0; i<localeCount; i++) {
6133 // auto& loc = locales[i];
6134 // MeasureFormat mf1(loc, UMEASFMT_WIDTH_NARROW, status);
6135 // mf1.formatMeasures(H5M10, UPRV_LENGTHOF(H5M10), result.remove(), pos, status);
6136 // assertFalse(result + u" " + loc.getName(), true);
6137 // }
6138 }
6139
TestInternalMeasureUnitImpl()6140 void MeasureFormatTest::TestInternalMeasureUnitImpl() {
6141 IcuTestErrorCode status(*this, "TestInternalMeasureUnitImpl");
6142 MeasureUnitImpl mu1 = MeasureUnitImpl::forIdentifier("meter", status);
6143 status.assertSuccess();
6144 assertEquals("mu1 initial identifier", "", mu1.identifier.data());
6145 assertEquals("mu1 initial complexity", UMEASURE_UNIT_SINGLE, mu1.complexity);
6146 assertEquals("mu1 initial units length", 1, mu1.singleUnits.length());
6147 if (mu1.singleUnits.length() > 0) {
6148 assertEquals("mu1 initial units[0]", "meter", mu1.singleUnits[0]->getSimpleUnitID());
6149 }
6150
6151 // Producing identifier via build(): the std::move() means mu1 gets modified
6152 // while it also gets assigned to tmp's internal fImpl.
6153 MeasureUnit tmp = std::move(mu1).build(status);
6154 status.assertSuccess();
6155 assertEquals("mu1 post-move-build identifier", "meter", mu1.identifier.data());
6156 assertEquals("mu1 post-move-build complexity", UMEASURE_UNIT_SINGLE, mu1.complexity);
6157 assertEquals("mu1 post-move-build units length", 1, mu1.singleUnits.length());
6158 if (mu1.singleUnits.length() > 0) {
6159 assertEquals("mu1 post-move-build units[0]", "meter", mu1.singleUnits[0]->getSimpleUnitID());
6160 }
6161 assertEquals("MeasureUnit tmp identifier", "meter", tmp.getIdentifier());
6162
6163 // This temporary variable is used when forMeasureUnit's first parameter
6164 // lacks an fImpl instance:
6165 MeasureUnitImpl tmpMemory;
6166 const MeasureUnitImpl &tmpImplRef = MeasureUnitImpl::forMeasureUnit(tmp, tmpMemory, status);
6167 status.assertSuccess();
6168 assertEquals("tmpMemory identifier", "", tmpMemory.identifier.data());
6169 assertEquals("tmpMemory complexity", UMEASURE_UNIT_SINGLE, tmpMemory.complexity);
6170 assertEquals("tmpMemory units length", 1, tmpMemory.singleUnits.length());
6171 if (mu1.singleUnits.length() > 0) {
6172 assertEquals("tmpMemory units[0]", "meter", tmpMemory.singleUnits[0]->getSimpleUnitID());
6173 }
6174 assertEquals("tmpImplRef identifier", "", tmpImplRef.identifier.data());
6175 assertEquals("tmpImplRef complexity", UMEASURE_UNIT_SINGLE, tmpImplRef.complexity);
6176
6177 MeasureUnitImpl mu2 = MeasureUnitImpl::forIdentifier("newton-meter", status);
6178 status.assertSuccess();
6179 mu1 = std::move(mu2);
6180 assertEquals("mu1 = move(mu2): identifier", "", mu1.identifier.data());
6181 assertEquals("mu1 = move(mu2): complexity", UMEASURE_UNIT_COMPOUND, mu1.complexity);
6182 assertEquals("mu1 = move(mu2): units length", 2, mu1.singleUnits.length());
6183 if (mu1.singleUnits.length() >= 2) {
6184 assertEquals("mu1 = move(mu2): units[0]", "newton", mu1.singleUnits[0]->getSimpleUnitID());
6185 assertEquals("mu1 = move(mu2): units[1]", "meter", mu1.singleUnits[1]->getSimpleUnitID());
6186 }
6187
6188 mu1 = MeasureUnitImpl::forIdentifier("hour-and-minute-and-second", status);
6189 status.assertSuccess();
6190 assertEquals("mu1 = HMS: identifier", "", mu1.identifier.data());
6191 assertEquals("mu1 = HMS: complexity", UMEASURE_UNIT_MIXED, mu1.complexity);
6192 assertEquals("mu1 = HMS: units length", 3, mu1.singleUnits.length());
6193 if (mu1.singleUnits.length() >= 3) {
6194 assertEquals("mu1 = HMS: units[0]", "hour", mu1.singleUnits[0]->getSimpleUnitID());
6195 assertEquals("mu1 = HMS: units[1]", "minute", mu1.singleUnits[1]->getSimpleUnitID());
6196 assertEquals("mu1 = HMS: units[2]", "second", mu1.singleUnits[2]->getSimpleUnitID());
6197 }
6198
6199 MeasureUnitImpl m2 = MeasureUnitImpl::forIdentifier("", status);
6200 m2.appendSingleUnit(SingleUnitImpl::forMeasureUnit(MeasureUnit::getMeter(), status), status);
6201 m2.appendSingleUnit(SingleUnitImpl::forMeasureUnit(MeasureUnit::getMeter(), status), status);
6202 status.assertSuccess();
6203 assertEquals("append meter twice: complexity", UMEASURE_UNIT_SINGLE, m2.complexity);
6204 assertEquals("append meter twice: units length", 1, m2.singleUnits.length());
6205 if (mu1.singleUnits.length() >= 1) {
6206 assertEquals("append meter twice: units[0]", "meter", m2.singleUnits[0]->getSimpleUnitID());
6207 }
6208 assertEquals("append meter twice: identifier", "square-meter",
6209 std::move(m2).build(status).getIdentifier());
6210
6211 MeasureUnitImpl mcm = MeasureUnitImpl::forIdentifier("", status);
6212 mcm.appendSingleUnit(SingleUnitImpl::forMeasureUnit(MeasureUnit::getMeter(), status), status);
6213 mcm.appendSingleUnit(SingleUnitImpl::forMeasureUnit(MeasureUnit::getCentimeter(), status), status);
6214 status.assertSuccess();
6215 assertEquals("append meter & centimeter: complexity", UMEASURE_UNIT_COMPOUND, mcm.complexity);
6216 assertEquals("append meter & centimeter: units length", 2, mcm.singleUnits.length());
6217 if (mu1.singleUnits.length() >= 2) {
6218 assertEquals("append meter & centimeter: units[0]", "meter",
6219 mcm.singleUnits[0]->getSimpleUnitID());
6220 assertEquals("append meter & centimeter: units[1]", "meter",
6221 mcm.singleUnits[1]->getSimpleUnitID());
6222 }
6223 assertEquals("append meter & centimeter: identifier", "meter-centimeter",
6224 std::move(mcm).build(status).getIdentifier());
6225
6226 MeasureUnitImpl m2m = MeasureUnitImpl::forIdentifier("meter-square-meter", status);
6227 status.assertSuccess();
6228 assertEquals("meter-square-meter: complexity", UMEASURE_UNIT_SINGLE, m2m.complexity);
6229 assertEquals("meter-square-meter: units length", 1, m2m.singleUnits.length());
6230 if (mu1.singleUnits.length() >= 1) {
6231 assertEquals("meter-square-meter: units[0]", "meter", m2m.singleUnits[0]->getSimpleUnitID());
6232 }
6233 assertEquals("meter-square-meter: identifier", "cubic-meter",
6234 std::move(m2m).build(status).getIdentifier());
6235 }
6236
TestMeasureEquality()6237 void MeasureFormatTest::TestMeasureEquality() {
6238 IcuTestErrorCode errorCode(*this, "TestMeasureEquality");
6239 Measure measures[] = {
6240 { 1., MeasureUnit::createLiter(errorCode), errorCode },
6241 { 1., MeasureUnit::createLiter(errorCode), errorCode },
6242 { 2., MeasureUnit::createLiter(errorCode), errorCode },
6243 { 1., MeasureUnit::createGram(errorCode), errorCode }
6244 };
6245 static const char *const names[] = { "1 liter", "another liter", "2 liters", "1 gram" };
6246
6247 // Verify that C++20 -Wambiguous-reversed-operator isn't triggered.
6248 assertTrue("Equal", measures[0] == measures[1]);
6249 assertTrue("Not Equal", measures[2] != measures[3]);
6250
6251 for (int32_t i = 0; i < UPRV_LENGTHOF(measures); ++i) {
6252 for (int32_t j = 0; j < UPRV_LENGTHOF(measures); ++j) {
6253 const Measure &a = measures[i];
6254 const UObject &b = measures[j]; // UObject for "other"
6255 std::string eq = std::string(names[i]) + std::string(" == ") + std::string(names[j]);
6256 std::string ne = std::string(names[i]) + std::string(" != ") + std::string(names[j]);
6257 // 1l = 1l
6258 bool expectedEquals = i == j || (i <= 1 && j <= 1);
6259 assertEquals(eq.c_str(), expectedEquals, a == b);
6260 assertEquals(ne.c_str(), !expectedEquals, a != b);
6261 }
6262 }
6263
6264 UnicodeString s(u"?");
6265 for (int32_t i = 0; i < UPRV_LENGTHOF(measures); ++i) {
6266 const Measure &a = measures[i];
6267 std::string eq = std::string(names[i]) + std::string(" == UnicodeString");
6268 std::string ne = std::string(names[i]) + std::string(" != UnicodeString");
6269 assertEquals(eq.c_str(), false, a == s);
6270 assertEquals(ne.c_str(), true, a != s);
6271 }
6272 }
6273
6274
verifyFieldPosition(const char * description,const MeasureFormat & fmt,const UnicodeString & prefix,const Measure * measures,int32_t measureCount,NumberFormat::EAlignmentFields field,int32_t start,int32_t end)6275 void MeasureFormatTest::verifyFieldPosition(
6276 const char *description,
6277 const MeasureFormat &fmt,
6278 const UnicodeString &prefix,
6279 const Measure *measures,
6280 int32_t measureCount,
6281 NumberFormat::EAlignmentFields field,
6282 int32_t start,
6283 int32_t end) {
6284 // 8 char lead
6285 UnicodeString result(prefix);
6286 FieldPosition pos(field);
6287 UErrorCode status = U_ZERO_ERROR;
6288 CharString ch;
6289 const char *descPrefix = ch.append(description, status)
6290 .append(": ", status).data();
6291 CharString beginIndex;
6292 beginIndex.append(descPrefix, status).append("beginIndex", status);
6293 CharString endIndex;
6294 endIndex.append(descPrefix, status).append("endIndex", status);
6295 fmt.formatMeasures(measures, measureCount, result, pos, status);
6296 if (!assertSuccess("Error formatting", status)) {
6297 return;
6298 }
6299 assertEquals(beginIndex.data(), start, pos.getBeginIndex());
6300 assertEquals(endIndex.data(), end, pos.getEndIndex());
6301 }
6302
verifyFormat(const char * description,const MeasureFormat & fmt,const Measure * measures,int32_t measureCount,const char * expected)6303 void MeasureFormatTest::verifyFormat(
6304 const char *description,
6305 const MeasureFormat &fmt,
6306 const Measure *measures,
6307 int32_t measureCount,
6308 const char *expected) {
6309 verifyFormatWithPrefix(
6310 description,
6311 fmt,
6312 "",
6313 measures,
6314 measureCount,
6315 expected);
6316 }
6317
verifyFormatWithPrefix(const char * description,const MeasureFormat & fmt,const UnicodeString & prefix,const Measure * measures,int32_t measureCount,const char * expected)6318 void MeasureFormatTest::verifyFormatWithPrefix(
6319 const char *description,
6320 const MeasureFormat &fmt,
6321 const UnicodeString &prefix,
6322 const Measure *measures,
6323 int32_t measureCount,
6324 const char *expected) {
6325 UnicodeString result(prefix);
6326 FieldPosition pos(FieldPosition::DONT_CARE);
6327 UErrorCode status = U_ZERO_ERROR;
6328 fmt.formatMeasures(measures, measureCount, result, pos, status);
6329 if (!assertSuccess("Error formatting", status)) {
6330 return;
6331 }
6332 assertEquals(description, ctou(expected), result);
6333 }
6334
verifyFormat(const char * description,const MeasureFormat & fmt,const ExpectedResult * expectedResults,int32_t count)6335 void MeasureFormatTest::verifyFormat(
6336 const char *description,
6337 const MeasureFormat &fmt,
6338 const ExpectedResult *expectedResults,
6339 int32_t count) {
6340 for (int32_t i = 0; i < count; ++i) {
6341 verifyFormat(description, fmt, expectedResults[i].measures, expectedResults[i].count, expectedResults[i].expected);
6342 }
6343 }
6344
verifySingleUnit(const MeasureUnit & unit,UMeasurePrefix unitPrefix,int8_t power,const char * identifier)6345 void MeasureFormatTest::verifySingleUnit(
6346 const MeasureUnit& unit,
6347 UMeasurePrefix unitPrefix,
6348 int8_t power,
6349 const char* identifier) {
6350 IcuTestErrorCode status(*this, "verifySingleUnit");
6351 UnicodeString uid(identifier, -1, US_INV);
6352 assertEquals(uid + ": SI or binary prefix",
6353 unitPrefix,
6354 unit.getPrefix(status));
6355 status.errIfFailureAndReset("%s: SI or binary prefix", identifier);
6356 assertEquals(uid + ": Power",
6357 static_cast<int32_t>(power),
6358 static_cast<int32_t>(unit.getDimensionality(status)));
6359 status.errIfFailureAndReset("%s: Power", identifier);
6360 assertEquals(uid + ": Identifier",
6361 identifier,
6362 unit.getIdentifier());
6363 status.errIfFailureAndReset("%s: Identifier", identifier);
6364 assertTrue(uid + ": Constructor",
6365 unit == MeasureUnit::forIdentifier(identifier, status));
6366 status.errIfFailureAndReset("%s: Constructor", identifier);
6367 assertEquals(uid + ": Complexity",
6368 UMEASURE_UNIT_SINGLE,
6369 unit.getComplexity(status));
6370 status.errIfFailureAndReset("%s: Complexity", identifier);
6371 }
6372
verifyCompoundUnit(const MeasureUnit & unit,const char * identifier,const char ** subIdentifiers,int32_t subIdentifierCount)6373 void MeasureFormatTest::verifyCompoundUnit(
6374 const MeasureUnit& unit,
6375 const char* identifier,
6376 const char** subIdentifiers,
6377 int32_t subIdentifierCount) {
6378 IcuTestErrorCode status(*this, "verifyCompoundUnit");
6379 UnicodeString uid(identifier, -1, US_INV);
6380 assertEquals(uid + ": Identifier",
6381 identifier,
6382 unit.getIdentifier());
6383 status.errIfFailureAndReset("%s: Identifier", identifier);
6384 assertTrue(uid + ": Constructor",
6385 unit == MeasureUnit::forIdentifier(identifier, status));
6386 status.errIfFailureAndReset("%s: Constructor", identifier);
6387 assertEquals(uid + ": Complexity",
6388 UMEASURE_UNIT_COMPOUND,
6389 unit.getComplexity(status));
6390 status.errIfFailureAndReset("%s: Complexity", identifier);
6391
6392 auto pair = unit.splitToSingleUnits(status);
6393 const LocalArray<MeasureUnit>& subUnits = pair.first;
6394 int32_t length = pair.second;
6395 assertEquals(uid + ": Length", subIdentifierCount, length);
6396 for (int32_t i = 0;; i++) {
6397 if (i >= subIdentifierCount || i >= length) break;
6398 assertEquals(uid + ": Sub-unit #" + Int64ToUnicodeString(i),
6399 subIdentifiers[i],
6400 subUnits[i].getIdentifier());
6401 assertEquals(uid + ": Sub-unit Complexity",
6402 UMEASURE_UNIT_SINGLE,
6403 subUnits[i].getComplexity(status));
6404 }
6405 }
6406
verifyMixedUnit(const MeasureUnit & unit,const char * identifier,const char ** subIdentifiers,int32_t subIdentifierCount)6407 void MeasureFormatTest::verifyMixedUnit(
6408 const MeasureUnit& unit,
6409 const char* identifier,
6410 const char** subIdentifiers,
6411 int32_t subIdentifierCount) {
6412 IcuTestErrorCode status(*this, "verifyMixedUnit");
6413 UnicodeString uid(identifier, -1, US_INV);
6414 assertEquals(uid + ": Identifier",
6415 identifier,
6416 unit.getIdentifier());
6417 status.errIfFailureAndReset("%s: Identifier", identifier);
6418 assertTrue(uid + ": Constructor",
6419 unit == MeasureUnit::forIdentifier(identifier, status));
6420 status.errIfFailureAndReset("%s: Constructor", identifier);
6421 assertEquals(uid + ": Complexity",
6422 UMEASURE_UNIT_MIXED,
6423 unit.getComplexity(status));
6424 status.errIfFailureAndReset("%s: Complexity", identifier);
6425
6426 auto pair = unit.splitToSingleUnits(status);
6427 const LocalArray<MeasureUnit>& subUnits = pair.first;
6428 int32_t length = pair.second;
6429 assertEquals(uid + ": Length", subIdentifierCount, length);
6430 for (int32_t i = 0;; i++) {
6431 if (i >= subIdentifierCount || i >= length) break;
6432 assertEquals(uid + ": Sub-unit #" + Int64ToUnicodeString(i),
6433 subIdentifiers[i],
6434 subUnits[i].getIdentifier());
6435 }
6436 }
6437
createMeasureFormatTest()6438 extern IntlTest *createMeasureFormatTest() {
6439 return new MeasureFormatTest();
6440 }
6441
6442 #endif
6443