OLD | NEW |
1 /* | 1 /* |
2 ******************************************************************************* | 2 ******************************************************************************* |
3 * Copyright (C) 2014, International Business Machines Corporation and * | 3 * Copyright (C) 2014-2015, International Business Machines Corporation and * |
4 * others. All Rights Reserved. * | 4 * others. All Rights Reserved. * |
5 ******************************************************************************* | 5 ******************************************************************************* |
6 * | 6 * |
7 * File MEASFMTTEST.CPP | 7 * File MEASFMTTEST.CPP |
8 * | 8 * |
9 ******************************************************************************* | 9 ******************************************************************************* |
10 */ | 10 */ |
11 #include <stdio.h> | 11 #include <stdio.h> |
12 #include <stdlib.h> | 12 #include <stdlib.h> |
13 | 13 |
(...skipping 19 matching lines...) Expand all Loading... |
33 class MeasureFormatTest : public IntlTest { | 33 class MeasureFormatTest : public IntlTest { |
34 public: | 34 public: |
35 MeasureFormatTest() { | 35 MeasureFormatTest() { |
36 } | 36 } |
37 | 37 |
38 void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=
0); | 38 void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=
0); |
39 private: | 39 private: |
40 void TestBasic(); | 40 void TestBasic(); |
41 void TestCompatible53_1(); | 41 void TestCompatible53_1(); |
42 void TestCompatible54_1(); | 42 void TestCompatible54_1(); |
| 43 void TestCompatible55_1(); |
| 44 void TestCompatible56_1(); |
43 void TestGetAvailable(); | 45 void TestGetAvailable(); |
44 void TestExamplesInDocs(); | 46 void TestExamplesInDocs(); |
45 void TestFormatPeriodEn(); | 47 void TestFormatPeriodEn(); |
46 void Test10219FractionalPlurals(); | 48 void Test10219FractionalPlurals(); |
47 void TestGreek(); | 49 void TestGreek(); |
48 void TestFormatSingleArg(); | 50 void TestFormatSingleArg(); |
49 void TestFormatMeasuresZeroArg(); | 51 void TestFormatMeasuresZeroArg(); |
50 void TestMultiplesWithPer(); | |
51 void TestSimplePer(); | 52 void TestSimplePer(); |
52 void TestNumeratorPlurals(); | 53 void TestNumeratorPlurals(); |
53 void TestMultiples(); | 54 void TestMultiples(); |
54 void TestGram(); | 55 void TestGram(); |
55 void TestCurrencies(); | 56 void TestCurrencies(); |
56 void TestFieldPosition(); | 57 void TestFieldPosition(); |
57 void TestFieldPositionMultiple(); | 58 void TestFieldPositionMultiple(); |
58 void TestFieldPositionMultipleWithPer(); | |
59 void TestBadArg(); | 59 void TestBadArg(); |
60 void TestEquality(); | 60 void TestEquality(); |
61 void TestGroupingSeparator(); | 61 void TestGroupingSeparator(); |
62 void TestDoubleZero(); | 62 void TestDoubleZero(); |
| 63 void TestUnitPerUnitResolution(); |
63 void verifyFormat( | 64 void verifyFormat( |
64 const char *description, | 65 const char *description, |
65 const MeasureFormat &fmt, | 66 const MeasureFormat &fmt, |
66 const Measure *measures, | 67 const Measure *measures, |
67 int32_t measureCount, | 68 int32_t measureCount, |
68 const char *expected); | 69 const char *expected); |
69 void verifyFormatWithPrefix( | 70 void verifyFormatWithPrefix( |
70 const char *description, | 71 const char *description, |
71 const MeasureFormat &fmt, | 72 const MeasureFormat &fmt, |
72 const UnicodeString &prefix, | 73 const UnicodeString &prefix, |
73 const Measure *measures, | 74 const Measure *measures, |
74 int32_t measureCount, | 75 int32_t measureCount, |
75 const char *expected); | 76 const char *expected); |
76 void verifyFormat( | 77 void verifyFormat( |
77 const char *description, | 78 const char *description, |
78 const MeasureFormat &fmt, | 79 const MeasureFormat &fmt, |
79 const ExpectedResult *expectedResults, | 80 const ExpectedResult *expectedResults, |
80 int32_t count); | 81 int32_t count); |
81 void helperTestSimplePer( | 82 void helperTestSimplePer( |
82 const Locale &locale, | 83 const Locale &locale, |
83 UMeasureFormatWidth width, | 84 UMeasureFormatWidth width, |
84 double value, | 85 double value, |
85 const MeasureUnit &unit, | 86 const MeasureUnit &unit, |
86 const MeasureUnit &perUnit, | 87 const MeasureUnit &perUnit, |
87 const char *expected); | 88 const char *expected); |
88 void helperTestMultiplesWithPer( | 89 void helperTestSimplePer( |
89 const Locale &locale, | 90 const Locale &locale, |
90 UMeasureFormatWidth width, | 91 UMeasureFormatWidth width, |
| 92 double value, |
91 const MeasureUnit &unit, | 93 const MeasureUnit &unit, |
92 const char *expected); | 94 const MeasureUnit &perUnit, |
| 95 const char *expected, |
| 96 int32_t field, |
| 97 int32_t expected_start, |
| 98 int32_t expected_end); |
93 void helperTestMultiples( | 99 void helperTestMultiples( |
94 const Locale &locale, | 100 const Locale &locale, |
95 UMeasureFormatWidth width, | 101 UMeasureFormatWidth width, |
96 const char *expected); | 102 const char *expected); |
97 void verifyFieldPosition( | 103 void verifyFieldPosition( |
98 const char *description, | 104 const char *description, |
99 const MeasureFormat &fmt, | 105 const MeasureFormat &fmt, |
100 const UnicodeString &prefix, | 106 const UnicodeString &prefix, |
101 const Measure *measures, | 107 const Measure *measures, |
102 int32_t measureCount, | 108 int32_t measureCount, |
103 NumberFormat::EAlignmentFields field, | 109 NumberFormat::EAlignmentFields field, |
104 int32_t start, | 110 int32_t start, |
105 int32_t end); | 111 int32_t end); |
106 void verifyFieldPositionWithPer( | |
107 const char *description, | |
108 const MeasureFormat &fmt, | |
109 const UnicodeString &prefix, | |
110 const Measure *measures, | |
111 int32_t measureCount, | |
112 const MeasureUnit &perUnit, | |
113 NumberFormat::EAlignmentFields field, | |
114 int32_t start, | |
115 int32_t end); | |
116 }; | 112 }; |
117 | 113 |
118 void MeasureFormatTest::runIndexedTest( | 114 void MeasureFormatTest::runIndexedTest( |
119 int32_t index, UBool exec, const char *&name, char *) { | 115 int32_t index, UBool exec, const char *&name, char *) { |
120 if (exec) { | 116 if (exec) { |
121 logln("TestSuite MeasureFormatTest: "); | 117 logln("TestSuite MeasureFormatTest: "); |
122 } | 118 } |
123 TESTCASE_AUTO_BEGIN; | 119 TESTCASE_AUTO_BEGIN; |
124 TESTCASE_AUTO(TestBasic); | 120 TESTCASE_AUTO(TestBasic); |
125 TESTCASE_AUTO(TestCompatible53_1); | 121 TESTCASE_AUTO(TestCompatible53_1); |
126 TESTCASE_AUTO(TestCompatible54_1); | 122 TESTCASE_AUTO(TestCompatible54_1); |
| 123 TESTCASE_AUTO(TestCompatible55_1); |
| 124 TESTCASE_AUTO(TestCompatible56_1); |
127 TESTCASE_AUTO(TestGetAvailable); | 125 TESTCASE_AUTO(TestGetAvailable); |
128 TESTCASE_AUTO(TestExamplesInDocs); | 126 TESTCASE_AUTO(TestExamplesInDocs); |
129 TESTCASE_AUTO(TestFormatPeriodEn); | 127 TESTCASE_AUTO(TestFormatPeriodEn); |
130 TESTCASE_AUTO(Test10219FractionalPlurals); | 128 TESTCASE_AUTO(Test10219FractionalPlurals); |
131 TESTCASE_AUTO(TestGreek); | 129 TESTCASE_AUTO(TestGreek); |
132 TESTCASE_AUTO(TestFormatSingleArg); | 130 TESTCASE_AUTO(TestFormatSingleArg); |
133 TESTCASE_AUTO(TestFormatMeasuresZeroArg); | 131 TESTCASE_AUTO(TestFormatMeasuresZeroArg); |
134 TESTCASE_AUTO(TestMultiplesWithPer); | |
135 TESTCASE_AUTO(TestSimplePer); | 132 TESTCASE_AUTO(TestSimplePer); |
136 TESTCASE_AUTO(TestNumeratorPlurals); | 133 TESTCASE_AUTO(TestNumeratorPlurals); |
137 TESTCASE_AUTO(TestMultiples); | 134 TESTCASE_AUTO(TestMultiples); |
138 TESTCASE_AUTO(TestGram); | 135 TESTCASE_AUTO(TestGram); |
139 TESTCASE_AUTO(TestCurrencies); | 136 TESTCASE_AUTO(TestCurrencies); |
140 TESTCASE_AUTO(TestFieldPosition); | 137 TESTCASE_AUTO(TestFieldPosition); |
141 TESTCASE_AUTO(TestFieldPositionMultiple); | 138 TESTCASE_AUTO(TestFieldPositionMultiple); |
142 TESTCASE_AUTO(TestFieldPositionMultipleWithPer); | |
143 TESTCASE_AUTO(TestBadArg); | 139 TESTCASE_AUTO(TestBadArg); |
144 TESTCASE_AUTO(TestEquality); | 140 TESTCASE_AUTO(TestEquality); |
145 TESTCASE_AUTO(TestGroupingSeparator); | 141 TESTCASE_AUTO(TestGroupingSeparator); |
146 TESTCASE_AUTO(TestDoubleZero); | 142 TESTCASE_AUTO(TestDoubleZero); |
| 143 TESTCASE_AUTO(TestUnitPerUnitResolution); |
147 TESTCASE_AUTO_END; | 144 TESTCASE_AUTO_END; |
148 } | 145 } |
149 | 146 |
150 void MeasureFormatTest::TestCompatible53_1() { | 147 void MeasureFormatTest::TestCompatible53_1() { |
151 UErrorCode status = U_ZERO_ERROR; | 148 UErrorCode status = U_ZERO_ERROR; |
152 LocalPointer<MeasureUnit> measureUnit; | 149 LocalPointer<MeasureUnit> measureUnit; |
153 measureUnit.adoptInstead(MeasureUnit::createGForce(status)); | 150 measureUnit.adoptInstead(MeasureUnit::createGForce(status)); |
154 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status)); | 151 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status)); |
155 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status)); | 152 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status)); |
156 measureUnit.adoptInstead(MeasureUnit::createDegree(status)); | 153 measureUnit.adoptInstead(MeasureUnit::createDegree(status)); |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 measureUnit.adoptInstead(MeasureUnit::createLiter(status)); | 316 measureUnit.adoptInstead(MeasureUnit::createLiter(status)); |
320 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status)); | 317 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status)); |
321 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status)); | 318 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status)); |
322 measureUnit.adoptInstead(MeasureUnit::createPint(status)); | 319 measureUnit.adoptInstead(MeasureUnit::createPint(status)); |
323 measureUnit.adoptInstead(MeasureUnit::createQuart(status)); | 320 measureUnit.adoptInstead(MeasureUnit::createQuart(status)); |
324 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status)); | 321 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status)); |
325 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status)); | 322 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status)); |
326 assertSuccess("", status); | 323 assertSuccess("", status); |
327 } | 324 } |
328 | 325 |
| 326 void MeasureFormatTest::TestCompatible55_1() { |
| 327 UErrorCode status = U_ZERO_ERROR; |
| 328 LocalPointer<MeasureUnit> measureUnit; |
| 329 measureUnit.adoptInstead(MeasureUnit::createGForce(status)); |
| 330 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status)); |
| 331 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status)); |
| 332 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status)); |
| 333 measureUnit.adoptInstead(MeasureUnit::createDegree(status)); |
| 334 measureUnit.adoptInstead(MeasureUnit::createRadian(status)); |
| 335 measureUnit.adoptInstead(MeasureUnit::createAcre(status)); |
| 336 measureUnit.adoptInstead(MeasureUnit::createHectare(status)); |
| 337 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status)); |
| 338 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status)); |
| 339 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status)); |
| 340 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status)); |
| 341 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status)); |
| 342 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status)); |
| 343 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status)); |
| 344 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status)); |
| 345 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status)); |
| 346 measureUnit.adoptInstead(MeasureUnit::createBit(status)); |
| 347 measureUnit.adoptInstead(MeasureUnit::createByte(status)); |
| 348 measureUnit.adoptInstead(MeasureUnit::createGigabit(status)); |
| 349 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status)); |
| 350 measureUnit.adoptInstead(MeasureUnit::createKilobit(status)); |
| 351 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status)); |
| 352 measureUnit.adoptInstead(MeasureUnit::createMegabit(status)); |
| 353 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status)); |
| 354 measureUnit.adoptInstead(MeasureUnit::createTerabit(status)); |
| 355 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status)); |
| 356 measureUnit.adoptInstead(MeasureUnit::createDay(status)); |
| 357 measureUnit.adoptInstead(MeasureUnit::createHour(status)); |
| 358 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status)); |
| 359 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status)); |
| 360 measureUnit.adoptInstead(MeasureUnit::createMinute(status)); |
| 361 measureUnit.adoptInstead(MeasureUnit::createMonth(status)); |
| 362 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status)); |
| 363 measureUnit.adoptInstead(MeasureUnit::createSecond(status)); |
| 364 measureUnit.adoptInstead(MeasureUnit::createWeek(status)); |
| 365 measureUnit.adoptInstead(MeasureUnit::createYear(status)); |
| 366 measureUnit.adoptInstead(MeasureUnit::createAmpere(status)); |
| 367 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status)); |
| 368 measureUnit.adoptInstead(MeasureUnit::createOhm(status)); |
| 369 measureUnit.adoptInstead(MeasureUnit::createVolt(status)); |
| 370 measureUnit.adoptInstead(MeasureUnit::createCalorie(status)); |
| 371 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status)); |
| 372 measureUnit.adoptInstead(MeasureUnit::createJoule(status)); |
| 373 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status)); |
| 374 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status)); |
| 375 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status)); |
| 376 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status)); |
| 377 measureUnit.adoptInstead(MeasureUnit::createHertz(status)); |
| 378 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status)); |
| 379 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status)); |
| 380 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status)); |
| 381 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status)); |
| 382 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status)); |
| 383 measureUnit.adoptInstead(MeasureUnit::createFathom(status)); |
| 384 measureUnit.adoptInstead(MeasureUnit::createFoot(status)); |
| 385 measureUnit.adoptInstead(MeasureUnit::createFurlong(status)); |
| 386 measureUnit.adoptInstead(MeasureUnit::createInch(status)); |
| 387 measureUnit.adoptInstead(MeasureUnit::createKilometer(status)); |
| 388 measureUnit.adoptInstead(MeasureUnit::createLightYear(status)); |
| 389 measureUnit.adoptInstead(MeasureUnit::createMeter(status)); |
| 390 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status)); |
| 391 measureUnit.adoptInstead(MeasureUnit::createMile(status)); |
| 392 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status)); |
| 393 measureUnit.adoptInstead(MeasureUnit::createNanometer(status)); |
| 394 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status)); |
| 395 measureUnit.adoptInstead(MeasureUnit::createParsec(status)); |
| 396 measureUnit.adoptInstead(MeasureUnit::createPicometer(status)); |
| 397 measureUnit.adoptInstead(MeasureUnit::createYard(status)); |
| 398 measureUnit.adoptInstead(MeasureUnit::createLux(status)); |
| 399 measureUnit.adoptInstead(MeasureUnit::createCarat(status)); |
| 400 measureUnit.adoptInstead(MeasureUnit::createGram(status)); |
| 401 measureUnit.adoptInstead(MeasureUnit::createKilogram(status)); |
| 402 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status)); |
| 403 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status)); |
| 404 measureUnit.adoptInstead(MeasureUnit::createMilligram(status)); |
| 405 measureUnit.adoptInstead(MeasureUnit::createOunce(status)); |
| 406 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status)); |
| 407 measureUnit.adoptInstead(MeasureUnit::createPound(status)); |
| 408 measureUnit.adoptInstead(MeasureUnit::createStone(status)); |
| 409 measureUnit.adoptInstead(MeasureUnit::createTon(status)); |
| 410 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status)); |
| 411 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status)); |
| 412 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status)); |
| 413 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status)); |
| 414 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status)); |
| 415 measureUnit.adoptInstead(MeasureUnit::createWatt(status)); |
| 416 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status)); |
| 417 measureUnit.adoptInstead(MeasureUnit::createInchHg(status)); |
| 418 measureUnit.adoptInstead(MeasureUnit::createMillibar(status)); |
| 419 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status)); |
| 420 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status)); |
| 421 measureUnit.adoptInstead(MeasureUnit::createKarat(status)); |
| 422 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status)); |
| 423 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status)); |
| 424 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status)); |
| 425 measureUnit.adoptInstead(MeasureUnit::createCelsius(status)); |
| 426 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status)); |
| 427 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status)); |
| 428 measureUnit.adoptInstead(MeasureUnit::createKelvin(status)); |
| 429 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status)); |
| 430 measureUnit.adoptInstead(MeasureUnit::createBushel(status)); |
| 431 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status)); |
| 432 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status)); |
| 433 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status)); |
| 434 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status)); |
| 435 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status)); |
| 436 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status)); |
| 437 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status)); |
| 438 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status)); |
| 439 measureUnit.adoptInstead(MeasureUnit::createCup(status)); |
| 440 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status)); |
| 441 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status)); |
| 442 measureUnit.adoptInstead(MeasureUnit::createGallon(status)); |
| 443 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status)); |
| 444 measureUnit.adoptInstead(MeasureUnit::createLiter(status)); |
| 445 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status)); |
| 446 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status)); |
| 447 measureUnit.adoptInstead(MeasureUnit::createPint(status)); |
| 448 measureUnit.adoptInstead(MeasureUnit::createQuart(status)); |
| 449 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status)); |
| 450 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status)); |
| 451 assertSuccess("", status); |
| 452 } |
| 453 |
| 454 void MeasureFormatTest::TestCompatible56_1() { |
| 455 UErrorCode status = U_ZERO_ERROR; |
| 456 LocalPointer<MeasureUnit> measureUnit; |
| 457 measureUnit.adoptInstead(MeasureUnit::createGForce(status)); |
| 458 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status)); |
| 459 measureUnit.adoptInstead(MeasureUnit::createArcMinute(status)); |
| 460 measureUnit.adoptInstead(MeasureUnit::createArcSecond(status)); |
| 461 measureUnit.adoptInstead(MeasureUnit::createDegree(status)); |
| 462 measureUnit.adoptInstead(MeasureUnit::createRadian(status)); |
| 463 measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status)); |
| 464 measureUnit.adoptInstead(MeasureUnit::createAcre(status)); |
| 465 measureUnit.adoptInstead(MeasureUnit::createHectare(status)); |
| 466 measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status)); |
| 467 measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status)); |
| 468 measureUnit.adoptInstead(MeasureUnit::createSquareInch(status)); |
| 469 measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status)); |
| 470 measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status)); |
| 471 measureUnit.adoptInstead(MeasureUnit::createSquareMile(status)); |
| 472 measureUnit.adoptInstead(MeasureUnit::createSquareYard(status)); |
| 473 measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status)); |
| 474 measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status)); |
| 475 measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status)); |
| 476 measureUnit.adoptInstead(MeasureUnit::createBit(status)); |
| 477 measureUnit.adoptInstead(MeasureUnit::createByte(status)); |
| 478 measureUnit.adoptInstead(MeasureUnit::createGigabit(status)); |
| 479 measureUnit.adoptInstead(MeasureUnit::createGigabyte(status)); |
| 480 measureUnit.adoptInstead(MeasureUnit::createKilobit(status)); |
| 481 measureUnit.adoptInstead(MeasureUnit::createKilobyte(status)); |
| 482 measureUnit.adoptInstead(MeasureUnit::createMegabit(status)); |
| 483 measureUnit.adoptInstead(MeasureUnit::createMegabyte(status)); |
| 484 measureUnit.adoptInstead(MeasureUnit::createTerabit(status)); |
| 485 measureUnit.adoptInstead(MeasureUnit::createTerabyte(status)); |
| 486 measureUnit.adoptInstead(MeasureUnit::createCentury(status)); |
| 487 measureUnit.adoptInstead(MeasureUnit::createDay(status)); |
| 488 measureUnit.adoptInstead(MeasureUnit::createHour(status)); |
| 489 measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status)); |
| 490 measureUnit.adoptInstead(MeasureUnit::createMillisecond(status)); |
| 491 measureUnit.adoptInstead(MeasureUnit::createMinute(status)); |
| 492 measureUnit.adoptInstead(MeasureUnit::createMonth(status)); |
| 493 measureUnit.adoptInstead(MeasureUnit::createNanosecond(status)); |
| 494 measureUnit.adoptInstead(MeasureUnit::createSecond(status)); |
| 495 measureUnit.adoptInstead(MeasureUnit::createWeek(status)); |
| 496 measureUnit.adoptInstead(MeasureUnit::createYear(status)); |
| 497 measureUnit.adoptInstead(MeasureUnit::createAmpere(status)); |
| 498 measureUnit.adoptInstead(MeasureUnit::createMilliampere(status)); |
| 499 measureUnit.adoptInstead(MeasureUnit::createOhm(status)); |
| 500 measureUnit.adoptInstead(MeasureUnit::createVolt(status)); |
| 501 measureUnit.adoptInstead(MeasureUnit::createCalorie(status)); |
| 502 measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status)); |
| 503 measureUnit.adoptInstead(MeasureUnit::createJoule(status)); |
| 504 measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status)); |
| 505 measureUnit.adoptInstead(MeasureUnit::createKilojoule(status)); |
| 506 measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status)); |
| 507 measureUnit.adoptInstead(MeasureUnit::createGigahertz(status)); |
| 508 measureUnit.adoptInstead(MeasureUnit::createHertz(status)); |
| 509 measureUnit.adoptInstead(MeasureUnit::createKilohertz(status)); |
| 510 measureUnit.adoptInstead(MeasureUnit::createMegahertz(status)); |
| 511 measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status)); |
| 512 measureUnit.adoptInstead(MeasureUnit::createCentimeter(status)); |
| 513 measureUnit.adoptInstead(MeasureUnit::createDecimeter(status)); |
| 514 measureUnit.adoptInstead(MeasureUnit::createFathom(status)); |
| 515 measureUnit.adoptInstead(MeasureUnit::createFoot(status)); |
| 516 measureUnit.adoptInstead(MeasureUnit::createFurlong(status)); |
| 517 measureUnit.adoptInstead(MeasureUnit::createInch(status)); |
| 518 measureUnit.adoptInstead(MeasureUnit::createKilometer(status)); |
| 519 measureUnit.adoptInstead(MeasureUnit::createLightYear(status)); |
| 520 measureUnit.adoptInstead(MeasureUnit::createMeter(status)); |
| 521 measureUnit.adoptInstead(MeasureUnit::createMicrometer(status)); |
| 522 measureUnit.adoptInstead(MeasureUnit::createMile(status)); |
| 523 measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status)); |
| 524 measureUnit.adoptInstead(MeasureUnit::createMillimeter(status)); |
| 525 measureUnit.adoptInstead(MeasureUnit::createNanometer(status)); |
| 526 measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status)); |
| 527 measureUnit.adoptInstead(MeasureUnit::createParsec(status)); |
| 528 measureUnit.adoptInstead(MeasureUnit::createPicometer(status)); |
| 529 measureUnit.adoptInstead(MeasureUnit::createYard(status)); |
| 530 measureUnit.adoptInstead(MeasureUnit::createLux(status)); |
| 531 measureUnit.adoptInstead(MeasureUnit::createCarat(status)); |
| 532 measureUnit.adoptInstead(MeasureUnit::createGram(status)); |
| 533 measureUnit.adoptInstead(MeasureUnit::createKilogram(status)); |
| 534 measureUnit.adoptInstead(MeasureUnit::createMetricTon(status)); |
| 535 measureUnit.adoptInstead(MeasureUnit::createMicrogram(status)); |
| 536 measureUnit.adoptInstead(MeasureUnit::createMilligram(status)); |
| 537 measureUnit.adoptInstead(MeasureUnit::createOunce(status)); |
| 538 measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status)); |
| 539 measureUnit.adoptInstead(MeasureUnit::createPound(status)); |
| 540 measureUnit.adoptInstead(MeasureUnit::createStone(status)); |
| 541 measureUnit.adoptInstead(MeasureUnit::createTon(status)); |
| 542 measureUnit.adoptInstead(MeasureUnit::createGigawatt(status)); |
| 543 measureUnit.adoptInstead(MeasureUnit::createHorsepower(status)); |
| 544 measureUnit.adoptInstead(MeasureUnit::createKilowatt(status)); |
| 545 measureUnit.adoptInstead(MeasureUnit::createMegawatt(status)); |
| 546 measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status)); |
| 547 measureUnit.adoptInstead(MeasureUnit::createWatt(status)); |
| 548 measureUnit.adoptInstead(MeasureUnit::createHectopascal(status)); |
| 549 measureUnit.adoptInstead(MeasureUnit::createInchHg(status)); |
| 550 measureUnit.adoptInstead(MeasureUnit::createMillibar(status)); |
| 551 measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status)); |
| 552 measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status)); |
| 553 measureUnit.adoptInstead(MeasureUnit::createKarat(status)); |
| 554 measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status)); |
| 555 measureUnit.adoptInstead(MeasureUnit::createKnot(status)); |
| 556 measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status)); |
| 557 measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status)); |
| 558 measureUnit.adoptInstead(MeasureUnit::createCelsius(status)); |
| 559 measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status)); |
| 560 measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status)); |
| 561 measureUnit.adoptInstead(MeasureUnit::createKelvin(status)); |
| 562 measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status)); |
| 563 measureUnit.adoptInstead(MeasureUnit::createBushel(status)); |
| 564 measureUnit.adoptInstead(MeasureUnit::createCentiliter(status)); |
| 565 measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status)); |
| 566 measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status)); |
| 567 measureUnit.adoptInstead(MeasureUnit::createCubicInch(status)); |
| 568 measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status)); |
| 569 measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status)); |
| 570 measureUnit.adoptInstead(MeasureUnit::createCubicMile(status)); |
| 571 measureUnit.adoptInstead(MeasureUnit::createCubicYard(status)); |
| 572 measureUnit.adoptInstead(MeasureUnit::createCup(status)); |
| 573 measureUnit.adoptInstead(MeasureUnit::createCupMetric(status)); |
| 574 measureUnit.adoptInstead(MeasureUnit::createDeciliter(status)); |
| 575 measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status)); |
| 576 measureUnit.adoptInstead(MeasureUnit::createGallon(status)); |
| 577 measureUnit.adoptInstead(MeasureUnit::createHectoliter(status)); |
| 578 measureUnit.adoptInstead(MeasureUnit::createLiter(status)); |
| 579 measureUnit.adoptInstead(MeasureUnit::createMegaliter(status)); |
| 580 measureUnit.adoptInstead(MeasureUnit::createMilliliter(status)); |
| 581 measureUnit.adoptInstead(MeasureUnit::createPint(status)); |
| 582 measureUnit.adoptInstead(MeasureUnit::createPintMetric(status)); |
| 583 measureUnit.adoptInstead(MeasureUnit::createQuart(status)); |
| 584 measureUnit.adoptInstead(MeasureUnit::createTablespoon(status)); |
| 585 measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status)); |
| 586 assertSuccess("", status); |
| 587 } |
| 588 |
329 void MeasureFormatTest::TestBasic() { | 589 void MeasureFormatTest::TestBasic() { |
330 UErrorCode status = U_ZERO_ERROR; | 590 UErrorCode status = U_ZERO_ERROR; |
331 MeasureUnit *ptr1 = MeasureUnit::createArcMinute(status); | 591 MeasureUnit *ptr1 = MeasureUnit::createArcMinute(status); |
332 MeasureUnit *ptr2 = MeasureUnit::createArcMinute(status); | 592 MeasureUnit *ptr2 = MeasureUnit::createArcMinute(status); |
333 if (!(*ptr1 == *ptr2)) { | 593 if (!(*ptr1 == *ptr2)) { |
334 errln("Expect == to work."); | 594 errln("Expect == to work."); |
335 } | 595 } |
336 if (*ptr1 != *ptr2) { | 596 if (*ptr1 != *ptr2) { |
337 errln("Expect != to work."); | 597 errln("Expect != to work."); |
338 } | 598 } |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 | 842 |
583 ExpectedResult fullData[] = { | 843 ExpectedResult fullData[] = { |
584 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 minute, 59.9996 sec
onds"}, | 844 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 minute, 59.9996 sec
onds"}, |
585 {t_19m, UPRV_LENGTHOF(t_19m), "19 minutes"}, | 845 {t_19m, UPRV_LENGTHOF(t_19m), "19 minutes"}, |
586 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 hour, 23.5 seconds"}, | 846 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 hour, 23.5 seconds"}, |
587 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 hour, 23.5 minutes"}, | 847 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 hour, 23.5 minutes"}, |
588 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 hour, 0 minutes, 23 sec
onds"}, | 848 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 hour, 0 minutes, 23 sec
onds"}, |
589 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 years, 5 months, 3
weeks, 4 days"}}; | 849 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 years, 5 months, 3
weeks, 4 days"}}; |
590 | 850 |
591 ExpectedResult abbrevData[] = { | 851 ExpectedResult abbrevData[] = { |
592 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 min, 59.9996 secs"}
, | 852 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1 min, 59.9996 sec"}, |
593 {t_19m, UPRV_LENGTHOF(t_19m), "19 mins"}, | 853 {t_19m, UPRV_LENGTHOF(t_19m), "19 min"}, |
594 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 hr, 23.5 secs"}, | 854 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1 hr, 23.5 sec"}, |
595 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 hr, 23.5 mins"}, | 855 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1 hr, 23.5 min"}, |
596 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 hr, 0 mins, 23 secs"}, | 856 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1 hr, 0 min, 23 sec"}, |
597 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 yrs, 5 mths, 3 wks,
4 days"}}; | 857 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2 yrs, 5 mths, 3 wks,
4 days"}}; |
598 | 858 |
599 ExpectedResult narrowData[] = { | 859 ExpectedResult narrowData[] = { |
600 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1m 59.9996s"}, | 860 {t_1m_59_9996s, UPRV_LENGTHOF(t_1m_59_9996s), "1m 59.9996s"}, |
601 {t_19m, UPRV_LENGTHOF(t_19m), "19m"}, | 861 {t_19m, UPRV_LENGTHOF(t_19m), "19m"}, |
602 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1h 23.5s"}, | 862 {t_1h_23_5s, UPRV_LENGTHOF(t_1h_23_5s), "1h 23.5s"}, |
603 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1h 23.5m"}, | 863 {t_1h_23_5m, UPRV_LENGTHOF(t_1h_23_5m), "1h 23.5m"}, |
604 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1h 0m 23s"}, | 864 {t_1h_0m_23s, UPRV_LENGTHOF(t_1h_0m_23s), "1h 0m 23s"}, |
605 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2y 5m 3w 4d"}}; | 865 {t_2y_5M_3w_4d, UPRV_LENGTHOF(t_2y_5M_3w_4d), "2y 5m 3w 4d"}}; |
606 | 866 |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
864 UnicodeString("3.5 feet"), | 1124 UnicodeString("3.5 feet"), |
865 buffer); | 1125 buffer); |
866 } | 1126 } |
867 | 1127 |
868 void MeasureFormatTest::TestFormatMeasuresZeroArg() { | 1128 void MeasureFormatTest::TestFormatMeasuresZeroArg() { |
869 UErrorCode status = U_ZERO_ERROR; | 1129 UErrorCode status = U_ZERO_ERROR; |
870 MeasureFormat fmt("en", UMEASFMT_WIDTH_WIDE, status); | 1130 MeasureFormat fmt("en", UMEASFMT_WIDTH_WIDE, status); |
871 verifyFormat("TestFormatMeasuresZeroArg", fmt, NULL, 0, ""); | 1131 verifyFormat("TestFormatMeasuresZeroArg", fmt, NULL, 0, ""); |
872 } | 1132 } |
873 | 1133 |
874 void MeasureFormatTest::TestMultiplesWithPer() { | |
875 Locale en("en"); | |
876 UErrorCode status = U_ZERO_ERROR; | |
877 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status)); | |
878 LocalPointer<MeasureUnit> minute(MeasureUnit::createMinute(status)); | |
879 if (!assertSuccess("", status)) { | |
880 return; | |
881 } | |
882 | |
883 // Per unit test. | |
884 helperTestMultiplesWithPer( | |
885 en, UMEASFMT_WIDTH_WIDE, *second, "2 miles, 1 foot, 2.3 inches per s
econd"); | |
886 helperTestMultiplesWithPer( | |
887 en, UMEASFMT_WIDTH_SHORT, *second, "2 mi, 1 ft, 2.3 inps"); | |
888 helperTestMultiplesWithPer( | |
889 en, UMEASFMT_WIDTH_NARROW, *second, "2mi 1\\u2032 2.3\\u2033/s"); | |
890 | |
891 // Fallback compound per test | |
892 helperTestMultiplesWithPer( | |
893 en, UMEASFMT_WIDTH_WIDE, *minute, "2 miles, 1 foot, 2.3 inches per m
inute"); | |
894 helperTestMultiplesWithPer( | |
895 en, UMEASFMT_WIDTH_SHORT, *minute, "2 mi, 1 ft, 2.3 in/min"); | |
896 helperTestMultiplesWithPer( | |
897 en, UMEASFMT_WIDTH_NARROW, *minute, "2mi 1\\u2032 2.3\\u2033/m"); | |
898 } | |
899 | |
900 void MeasureFormatTest::TestSimplePer() { | 1134 void MeasureFormatTest::TestSimplePer() { |
901 Locale en("en"); | 1135 Locale en("en"); |
902 UErrorCode status = U_ZERO_ERROR; | 1136 UErrorCode status = U_ZERO_ERROR; |
903 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status)); | 1137 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status)); |
904 LocalPointer<MeasureUnit> minute(MeasureUnit::createMinute(status)); | 1138 LocalPointer<MeasureUnit> minute(MeasureUnit::createMinute(status)); |
905 LocalPointer<MeasureUnit> pound(MeasureUnit::createPound(status)); | 1139 LocalPointer<MeasureUnit> pound(MeasureUnit::createPound(status)); |
906 if (!assertSuccess("", status)) { | 1140 if (!assertSuccess("", status)) { |
907 return; | 1141 return; |
908 } | 1142 } |
909 | 1143 |
910 helperTestSimplePer( | 1144 helperTestSimplePer( |
911 en, UMEASFMT_WIDTH_SHORT, 1.0, *pound, *second, "1 lbps"); | 1145 en, UMEASFMT_WIDTH_WIDE, |
| 1146 1.0, *pound, *second, "1 pound per second"); |
912 helperTestSimplePer( | 1147 helperTestSimplePer( |
913 en, UMEASFMT_WIDTH_SHORT, 2.0, *pound, *second, "2 lbps"); | 1148 en, UMEASFMT_WIDTH_WIDE, |
| 1149 2.0, *pound, *second, "2 pounds per second"); |
| 1150 helperTestSimplePer( |
| 1151 en, UMEASFMT_WIDTH_WIDE, |
| 1152 1.0, *pound, *minute, "1 pound per minute"); |
| 1153 helperTestSimplePer( |
| 1154 en, UMEASFMT_WIDTH_WIDE, |
| 1155 2.0, *pound, *minute, "2 pounds per minute"); |
| 1156 |
| 1157 helperTestSimplePer( |
| 1158 en, UMEASFMT_WIDTH_SHORT, 1.0, *pound, *second, "1 lb/s"); |
| 1159 helperTestSimplePer( |
| 1160 en, UMEASFMT_WIDTH_SHORT, 2.0, *pound, *second, "2 lb/s"); |
914 helperTestSimplePer( | 1161 helperTestSimplePer( |
915 en, UMEASFMT_WIDTH_SHORT, 1.0, *pound, *minute, "1 lb/min"); | 1162 en, UMEASFMT_WIDTH_SHORT, 1.0, *pound, *minute, "1 lb/min"); |
916 helperTestSimplePer( | 1163 helperTestSimplePer( |
917 en, UMEASFMT_WIDTH_SHORT, 2.0, *pound, *minute, "2 lb/min"); | 1164 en, UMEASFMT_WIDTH_SHORT, 2.0, *pound, *minute, "2 lb/min"); |
| 1165 |
| 1166 helperTestSimplePer( |
| 1167 en, UMEASFMT_WIDTH_NARROW, 1.0, *pound, *second, "1#/s"); |
| 1168 helperTestSimplePer( |
| 1169 en, UMEASFMT_WIDTH_NARROW, 2.0, *pound, *second, "2#/s"); |
| 1170 helperTestSimplePer( |
| 1171 en, UMEASFMT_WIDTH_NARROW, 1.0, *pound, *minute, "1#/min"); |
| 1172 helperTestSimplePer( |
| 1173 en, UMEASFMT_WIDTH_NARROW, 2.0, *pound, *minute, "2#/min"); |
| 1174 |
| 1175 helperTestSimplePer( |
| 1176 en, UMEASFMT_WIDTH_SHORT, |
| 1177 23.3, *pound, *second, "23.3 lb/s", |
| 1178 NumberFormat::kDecimalSeparatorField, |
| 1179 2, 3); |
| 1180 |
| 1181 helperTestSimplePer( |
| 1182 en, UMEASFMT_WIDTH_SHORT, |
| 1183 23.3, *pound, *second, "23.3 lb/s", |
| 1184 NumberFormat::kIntegerField, |
| 1185 0, 2); |
| 1186 |
| 1187 helperTestSimplePer( |
| 1188 en, UMEASFMT_WIDTH_SHORT, |
| 1189 23.3, *pound, *minute, "23.3 lb/min", |
| 1190 NumberFormat::kDecimalSeparatorField, |
| 1191 2, 3); |
| 1192 |
| 1193 helperTestSimplePer( |
| 1194 en, UMEASFMT_WIDTH_SHORT, |
| 1195 23.3, *pound, *minute, "23.3 lb/min", |
| 1196 NumberFormat::kIntegerField, |
| 1197 0, 2); |
918 } | 1198 } |
919 | 1199 |
920 void MeasureFormatTest::TestNumeratorPlurals() { | 1200 void MeasureFormatTest::TestNumeratorPlurals() { |
921 Locale pl("pl"); | 1201 Locale pl("pl"); |
922 UErrorCode status = U_ZERO_ERROR; | 1202 UErrorCode status = U_ZERO_ERROR; |
923 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status)); | 1203 LocalPointer<MeasureUnit> second(MeasureUnit::createSecond(status)); |
924 LocalPointer<MeasureUnit> foot(MeasureUnit::createFoot(status)); | 1204 LocalPointer<MeasureUnit> foot(MeasureUnit::createFoot(status)); |
925 if (!assertSuccess("", status)) { | 1205 if (!assertSuccess("", status)) { |
926 return; | 1206 return; |
927 } | 1207 } |
928 | 1208 |
929 helperTestSimplePer( | 1209 helperTestSimplePer( |
930 pl, UMEASFMT_WIDTH_WIDE, 1.0, *foot, *second, "1 stopa na sekund\\u0
119"); | 1210 pl, |
| 1211 UMEASFMT_WIDTH_WIDE, |
| 1212 1.0, *foot, *second, "1 stopa na sekund\\u0119"); |
931 helperTestSimplePer( | 1213 helperTestSimplePer( |
932 pl, UMEASFMT_WIDTH_WIDE, 2.0, *foot, *second, "2 stopy na sekund\\u0
119"); | 1214 pl, |
| 1215 UMEASFMT_WIDTH_WIDE, |
| 1216 2.0, *foot, *second, "2 stopy na sekund\\u0119"); |
933 helperTestSimplePer( | 1217 helperTestSimplePer( |
934 pl, UMEASFMT_WIDTH_WIDE, 5.0, *foot, *second, "5 st\\u00f3p na sekun
d\\u0119"); | 1218 pl, |
| 1219 UMEASFMT_WIDTH_WIDE, |
| 1220 5.0, *foot, *second, "5 st\\u00f3p na sekund\\u0119"); |
935 helperTestSimplePer( | 1221 helperTestSimplePer( |
936 pl, UMEASFMT_WIDTH_WIDE, 1.5, *foot, *second, "1,5 stopy na sekund\\
u0119"); | 1222 pl, UMEASFMT_WIDTH_WIDE, |
| 1223 1.5, *foot, *second, "1,5 stopy na sekund\\u0119"); |
937 } | 1224 } |
938 | 1225 |
939 void MeasureFormatTest::helperTestSimplePer( | 1226 void MeasureFormatTest::helperTestSimplePer( |
940 const Locale &locale, | 1227 const Locale &locale, |
941 UMeasureFormatWidth width, | 1228 UMeasureFormatWidth width, |
942 double value, | 1229 double value, |
943 const MeasureUnit &unit, | 1230 const MeasureUnit &unit, |
944 const MeasureUnit &perUnit, | 1231 const MeasureUnit &perUnit, |
945 const char *expected) { | 1232 const char *expected) { |
| 1233 helperTestSimplePer( |
| 1234 locale, |
| 1235 width, |
| 1236 value, |
| 1237 unit, |
| 1238 perUnit, |
| 1239 expected, |
| 1240 FieldPosition::DONT_CARE, |
| 1241 0, |
| 1242 0); |
| 1243 } |
| 1244 |
| 1245 void MeasureFormatTest::helperTestSimplePer( |
| 1246 const Locale &locale, |
| 1247 UMeasureFormatWidth width, |
| 1248 double value, |
| 1249 const MeasureUnit &unit, |
| 1250 const MeasureUnit &perUnit, |
| 1251 const char *expected, |
| 1252 int32_t field, |
| 1253 int32_t expected_start, |
| 1254 int32_t expected_end) { |
946 UErrorCode status = U_ZERO_ERROR; | 1255 UErrorCode status = U_ZERO_ERROR; |
947 FieldPosition pos(0); | 1256 FieldPosition pos(field); |
948 MeasureFormat fmt(locale, width, status); | 1257 MeasureFormat fmt(locale, width, status); |
949 if (!assertSuccess("Error creating format object", status)) { | 1258 if (!assertSuccess("Error creating format object", status)) { |
950 return; | 1259 return; |
951 } | 1260 } |
952 Measure measure(value, (MeasureUnit *) unit.clone(), status); | 1261 Measure measure(value, (MeasureUnit *) unit.clone(), status); |
953 if (!assertSuccess("Error creating measure object", status)) { | 1262 if (!assertSuccess("Error creating measure object", status)) { |
954 return; | 1263 return; |
955 } | 1264 } |
956 UnicodeString buffer; | 1265 UnicodeString prefix("prefix: "); |
957 fmt.formatMeasuresPer( | 1266 UnicodeString buffer(prefix); |
958 &measure, | 1267 fmt.formatMeasurePerUnit( |
959 1, | 1268 measure, |
960 perUnit, | 1269 perUnit, |
961 buffer, | 1270 buffer, |
962 pos, | 1271 pos, |
963 status); | |
964 if (!assertSuccess("Error formatting measures with per", status)) { | |
965 return; | |
966 } | |
967 assertEquals( | |
968 "TestSimplePer", | |
969 UnicodeString(expected).unescape(), | |
970 buffer); | |
971 } | |
972 | |
973 void MeasureFormatTest::helperTestMultiplesWithPer( | |
974 const Locale &locale, | |
975 UMeasureFormatWidth width, | |
976 const MeasureUnit &perUnit, | |
977 const char *expected) { | |
978 UErrorCode status = U_ZERO_ERROR; | |
979 FieldPosition pos(0); | |
980 MeasureFormat fmt(locale, width, status); | |
981 if (!assertSuccess("Error creating format object", status)) { | |
982 return; | |
983 } | |
984 Measure measures[] = { | |
985 Measure(2, MeasureUnit::createMile(status), status), | |
986 Measure(1, MeasureUnit::createFoot(status), status), | |
987 Measure(2.3, MeasureUnit::createInch(status), status)}; | |
988 if (!assertSuccess("Error creating measures", status)) { | |
989 return; | |
990 } | |
991 UnicodeString buffer; | |
992 fmt.formatMeasuresPer( | |
993 measures, | |
994 UPRV_LENGTHOF(measures), | |
995 perUnit, | |
996 buffer, | |
997 pos, | |
998 status); | 1272 status); |
999 if (!assertSuccess("Error formatting measures with per", status)) { | 1273 if (!assertSuccess("Error formatting measures with per", status)) { |
1000 return; | 1274 return; |
1001 } | 1275 } |
| 1276 UnicodeString uexpected(expected); |
| 1277 uexpected = prefix + uexpected; |
1002 assertEquals( | 1278 assertEquals( |
1003 "TestMultiplesWithPer", | 1279 "TestSimplePer", |
1004 UnicodeString(expected).unescape(), | 1280 uexpected.unescape(), |
1005 buffer); | 1281 buffer); |
| 1282 if (field != FieldPosition::DONT_CARE) { |
| 1283 assertEquals( |
| 1284 "Start", expected_start, pos.getBeginIndex() - prefix.length()); |
| 1285 assertEquals( |
| 1286 "End", expected_end, pos.getEndIndex() - prefix.length()); |
| 1287 } |
1006 } | 1288 } |
1007 | 1289 |
1008 void MeasureFormatTest::TestMultiples() { | 1290 void MeasureFormatTest::TestMultiples() { |
1009 Locale ru("ru"); | 1291 Locale ru("ru"); |
1010 Locale en("en"); | 1292 Locale en("en"); |
1011 helperTestMultiples(en, UMEASFMT_WIDTH_WIDE, "2 miles, 1 foot, 2.3 inches"); | 1293 helperTestMultiples(en, UMEASFMT_WIDTH_WIDE, "2 miles, 1 foot, 2.3 inches"); |
1012 helperTestMultiples(en, UMEASFMT_WIDTH_SHORT, "2 mi, 1 ft, 2.3 in"); | 1294 helperTestMultiples(en, UMEASFMT_WIDTH_SHORT, "2 mi, 1 ft, 2.3 in"); |
1013 helperTestMultiples(en, UMEASFMT_WIDTH_NARROW, "2mi 1\\u2032 2.3\\u2033"); | 1295 helperTestMultiples(en, UMEASFMT_WIDTH_NARROW, "2mi 1\\u2032 2.3\\u2033"); |
1014 helperTestMultiples(ru, UMEASFMT_WIDTH_WIDE, "2 \\u043C\\u0438\\u043B\\u0438
, 1 \\u0444\\u0443\\u0442 \\u0438 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430"); | 1296 helperTestMultiples(ru, UMEASFMT_WIDTH_WIDE, "2 \\u043C\\u0438\\u043B\\u0438
1 \\u0444\\u0443\\u0442 \\u0438 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430"); |
1015 helperTestMultiples(ru, UMEASFMT_WIDTH_SHORT, "2 \\u043C\\u0438\\u043B\\u043
8, 1 \\u0444\\u0443\\u0442, 2,3 \\u0434\\u044E\\u0439\\u043C."); | 1297 helperTestMultiples(ru, UMEASFMT_WIDTH_SHORT, "2 \\u043C\\u0438\\u043B\\u043
8 1 \\u0444\\u0443\\u0442 \\u0438 2,3 \\u0434\\u044E\\u0439\\u043C."); |
1016 helperTestMultiples(ru, UMEASFMT_WIDTH_NARROW, "2 \\u043C\\u0438\\u043B\\u04
4C 1 \\u0444\\u0443\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430"); | 1298 helperTestMultiples(ru, UMEASFMT_WIDTH_NARROW, "2 \\u043C\\u0438\\u043B\\u04
4C 1 \\u0444\\u0443\\u0442 2,3 \\u0434\\u044E\\u0439\\u043C\\u0430"); |
1017 } | 1299 } |
1018 | 1300 |
1019 void MeasureFormatTest::helperTestMultiples( | 1301 void MeasureFormatTest::helperTestMultiples( |
1020 const Locale &locale, | 1302 const Locale &locale, |
1021 UMeasureFormatWidth width, | 1303 UMeasureFormatWidth width, |
1022 const char *expected) { | 1304 const char *expected) { |
1023 UErrorCode status = U_ZERO_ERROR; | 1305 UErrorCode status = U_ZERO_ERROR; |
1024 FieldPosition pos(0); | 1306 FieldPosition pos(0); |
1025 MeasureFormat fmt(locale, width, status); | 1307 MeasureFormat fmt(locale, width, status); |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1174 "no decimal separator", | 1456 "no decimal separator", |
1175 fmt, | 1457 fmt, |
1176 prefix, | 1458 prefix, |
1177 third, | 1459 third, |
1178 UPRV_LENGTHOF(third), | 1460 UPRV_LENGTHOF(third), |
1179 NumberFormat::kDecimalSeparatorField, | 1461 NumberFormat::kDecimalSeparatorField, |
1180 0, | 1462 0, |
1181 0); | 1463 0); |
1182 } | 1464 } |
1183 | 1465 |
1184 void MeasureFormatTest::TestFieldPositionMultipleWithPer() { | |
1185 UErrorCode status = U_ZERO_ERROR; | |
1186 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status); | |
1187 if (!assertSuccess("Error creating format object", status)) { | |
1188 return; | |
1189 } | |
1190 Measure first[] = { | |
1191 Measure(354, MeasureUnit::createMeter(status), status), | |
1192 Measure(23, MeasureUnit::createCentimeter(status), status)}; | |
1193 Measure second[] = { | |
1194 Measure(354, MeasureUnit::createMeter(status), status), | |
1195 Measure(23, MeasureUnit::createCentimeter(status), status), | |
1196 Measure(5.4, MeasureUnit::createMillimeter(status), status)}; | |
1197 Measure third[] = { | |
1198 Measure(3, MeasureUnit::createMeter(status), status), | |
1199 Measure(23, MeasureUnit::createCentimeter(status), status), | |
1200 Measure(5, MeasureUnit::createMillimeter(status), status)}; | |
1201 if (!assertSuccess("Error creating measure objects", status)) { | |
1202 return; | |
1203 } | |
1204 UnicodeString prefix("123456: "); | |
1205 | |
1206 LocalPointer<MeasureUnit> secondUnit(MeasureUnit::createSecond(status)); | |
1207 LocalPointer<MeasureUnit> minuteUnit(MeasureUnit::createMinute(status)); | |
1208 if (!assertSuccess("Error creating format object", status)) { | |
1209 return; | |
1210 } | |
1211 | |
1212 // per unit test | |
1213 verifyFieldPositionWithPer( | |
1214 "Integer", | |
1215 fmt, | |
1216 prefix, | |
1217 first, | |
1218 UPRV_LENGTHOF(first), | |
1219 *secondUnit, | |
1220 NumberFormat::kIntegerField, | |
1221 8, | |
1222 11); | |
1223 verifyFieldPositionWithPer( | |
1224 "Decimal separator", | |
1225 fmt, | |
1226 prefix, | |
1227 second, | |
1228 UPRV_LENGTHOF(second), | |
1229 *secondUnit, | |
1230 NumberFormat::kDecimalSeparatorField, | |
1231 23, | |
1232 24); | |
1233 verifyFieldPositionWithPer( | |
1234 "no decimal separator", | |
1235 fmt, | |
1236 prefix, | |
1237 third, | |
1238 UPRV_LENGTHOF(third), | |
1239 *secondUnit, | |
1240 NumberFormat::kDecimalSeparatorField, | |
1241 0, | |
1242 0); | |
1243 | |
1244 // Fallback to compound per test | |
1245 verifyFieldPositionWithPer( | |
1246 "Integer", | |
1247 fmt, | |
1248 prefix, | |
1249 first, | |
1250 UPRV_LENGTHOF(first), | |
1251 *minuteUnit, | |
1252 NumberFormat::kIntegerField, | |
1253 8, | |
1254 11); | |
1255 verifyFieldPositionWithPer( | |
1256 "Decimal separator", | |
1257 fmt, | |
1258 prefix, | |
1259 second, | |
1260 UPRV_LENGTHOF(second), | |
1261 *minuteUnit, | |
1262 NumberFormat::kDecimalSeparatorField, | |
1263 23, | |
1264 24); | |
1265 verifyFieldPositionWithPer( | |
1266 "no decimal separator", | |
1267 fmt, | |
1268 prefix, | |
1269 third, | |
1270 UPRV_LENGTHOF(third), | |
1271 *minuteUnit, | |
1272 NumberFormat::kDecimalSeparatorField, | |
1273 0, | |
1274 0); | |
1275 } | |
1276 | |
1277 void MeasureFormatTest::TestBadArg() { | 1466 void MeasureFormatTest::TestBadArg() { |
1278 UErrorCode status = U_ZERO_ERROR; | 1467 UErrorCode status = U_ZERO_ERROR; |
1279 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status); | 1468 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status); |
1280 if (!assertSuccess("Error creating format object", status)) { | 1469 if (!assertSuccess("Error creating format object", status)) { |
1281 return; | 1470 return; |
1282 } | 1471 } |
1283 FieldPosition pos(0); | 1472 FieldPosition pos(0); |
1284 UnicodeString buffer; | 1473 UnicodeString buffer; |
1285 fmt.format( | 1474 fmt.format( |
1286 9.3, | 1475 9.3, |
(...skipping 29 matching lines...) Expand all Loading... |
1316 } | 1505 } |
1317 | 1506 |
1318 void MeasureFormatTest::TestGroupingSeparator() { | 1507 void MeasureFormatTest::TestGroupingSeparator() { |
1319 UErrorCode status = U_ZERO_ERROR; | 1508 UErrorCode status = U_ZERO_ERROR; |
1320 Locale en("en"); | 1509 Locale en("en"); |
1321 MeasureFormat fmt(en, UMEASFMT_WIDTH_SHORT, status); | 1510 MeasureFormat fmt(en, UMEASFMT_WIDTH_SHORT, status); |
1322 if (!assertSuccess("Error creating format object", status)) { | 1511 if (!assertSuccess("Error creating format object", status)) { |
1323 return; | 1512 return; |
1324 } | 1513 } |
1325 Measure ms[] = { | 1514 Measure ms[] = { |
1326 Measure(INT32_MAX, MeasureUnit::createYear(status), status), | 1515 Measure((int32_t)INT32_MAX, MeasureUnit::createYear(status), status)
, |
1327 Measure(INT32_MIN, MeasureUnit::createMonth(status), status), | 1516 Measure((int32_t)INT32_MIN, MeasureUnit::createMonth(status), status
), |
1328 Measure(-987, MeasureUnit::createDay(status), status), | 1517 Measure(-987, MeasureUnit::createDay(status), status), |
1329 Measure(1362, MeasureUnit::createHour(status), status), | 1518 Measure(1362, MeasureUnit::createHour(status), status), |
1330 Measure(987, MeasureUnit::createMinute(status), status)}; | 1519 Measure(987, MeasureUnit::createMinute(status), status)}; |
1331 FieldPosition pos(NumberFormat::kGroupingSeparatorField); | 1520 FieldPosition pos(NumberFormat::kGroupingSeparatorField); |
1332 UnicodeString appendTo; | 1521 UnicodeString appendTo; |
1333 fmt.formatMeasures(ms, 5, appendTo, pos, status); | 1522 fmt.formatMeasures(ms, 5, appendTo, pos, status); |
1334 if (!assertSuccess("Error formatting", status)) { | 1523 if (!assertSuccess("Error formatting", status)) { |
1335 return; | 1524 return; |
1336 } | 1525 } |
1337 assertEquals( | 1526 assertEquals( |
1338 "grouping separator", | 1527 "grouping separator", |
1339 "2,147,483,647 yrs, -2,147,483,648 mths, -987 days, 1,362 hrs, 987 m
ins", | 1528 "2,147,483,647 yrs, -2,147,483,648 mths, -987 days, 1,362 hr, 987 mi
n", |
1340 appendTo); | 1529 appendTo); |
1341 assertEquals("begin index", 9, pos.getBeginIndex()); | 1530 assertEquals("begin index", 9, pos.getBeginIndex()); |
1342 assertEquals("end index", 10, pos.getEndIndex()); | 1531 assertEquals("end index", 10, pos.getEndIndex()); |
1343 } | 1532 } |
1344 | 1533 |
1345 void MeasureFormatTest::TestDoubleZero() { | 1534 void MeasureFormatTest::TestDoubleZero() { |
1346 UErrorCode status = U_ZERO_ERROR; | 1535 UErrorCode status = U_ZERO_ERROR; |
1347 Measure measures[] = { | 1536 Measure measures[] = { |
1348 Measure(4.7, MeasureUnit::createHour(status), status), | 1537 Measure(4.7, MeasureUnit::createHour(status), status), |
1349 Measure(23, MeasureUnit::createMinute(status), status), | 1538 Measure(23, MeasureUnit::createMinute(status), status), |
(...skipping 22 matching lines...) Expand all Loading... |
1372 fmt.formatMeasures(measures, UPRV_LENGTHOF(measures), appendTo, pos, status)
; | 1561 fmt.formatMeasures(measures, UPRV_LENGTHOF(measures), appendTo, pos, status)
; |
1373 if (!assertSuccess("Error formatting", status)) { | 1562 if (!assertSuccess("Error formatting", status)) { |
1374 return; | 1563 return; |
1375 } | 1564 } |
1376 assertEquals( | 1565 assertEquals( |
1377 "TestDoubleZero", | 1566 "TestDoubleZero", |
1378 UnicodeString("-4 hours, 23 minutes, 16.00 seconds"), | 1567 UnicodeString("-4 hours, 23 minutes, 16.00 seconds"), |
1379 appendTo); | 1568 appendTo); |
1380 } | 1569 } |
1381 | 1570 |
| 1571 void MeasureFormatTest::TestUnitPerUnitResolution() { |
| 1572 UErrorCode status = U_ZERO_ERROR; |
| 1573 Locale en("en"); |
| 1574 MeasureFormat fmt("en", UMEASFMT_WIDTH_SHORT, status); |
| 1575 Measure measure(50, MeasureUnit::createPound(status), status); |
| 1576 LocalPointer<MeasureUnit> sqInch(MeasureUnit::createSquareInch(status)); |
| 1577 if (!assertSuccess("Create of format unit and per unit", status)) { |
| 1578 return; |
| 1579 } |
| 1580 FieldPosition pos(0); |
| 1581 UnicodeString actual; |
| 1582 fmt.formatMeasurePerUnit( |
| 1583 measure, |
| 1584 *sqInch, |
| 1585 actual, |
| 1586 pos, |
| 1587 status); |
| 1588 assertEquals("", "50 psi", actual); |
| 1589 } |
| 1590 |
1382 void MeasureFormatTest::verifyFieldPosition( | 1591 void MeasureFormatTest::verifyFieldPosition( |
1383 const char *description, | 1592 const char *description, |
1384 const MeasureFormat &fmt, | 1593 const MeasureFormat &fmt, |
1385 const UnicodeString &prefix, | 1594 const UnicodeString &prefix, |
1386 const Measure *measures, | 1595 const Measure *measures, |
1387 int32_t measureCount, | 1596 int32_t measureCount, |
1388 NumberFormat::EAlignmentFields field, | 1597 NumberFormat::EAlignmentFields field, |
1389 int32_t start, | 1598 int32_t start, |
1390 int32_t end) { | 1599 int32_t end) { |
1391 // 8 char lead | 1600 // 8 char lead |
1392 UnicodeString result(prefix); | 1601 UnicodeString result(prefix); |
1393 FieldPosition pos(field); | 1602 FieldPosition pos(field); |
1394 UErrorCode status = U_ZERO_ERROR; | 1603 UErrorCode status = U_ZERO_ERROR; |
1395 CharString ch; | |
1396 const char *descPrefix = ch.append(description, status) | |
1397 .append(": ", status).data(); | |
1398 CharString beginIndex; | |
1399 beginIndex.append(descPrefix, status).append("beginIndex", status); | |
1400 CharString endIndex; | |
1401 endIndex.append(descPrefix, status).append("endIndex", status); | |
1402 fmt.formatMeasures(measures, measureCount, result, pos, status); | |
1403 if (!assertSuccess("Error formatting", status)) { | |
1404 return; | |
1405 } | |
1406 assertEquals(beginIndex.data(), start, pos.getBeginIndex()); | |
1407 assertEquals(endIndex.data(), end, pos.getEndIndex()); | |
1408 } | |
1409 | |
1410 void MeasureFormatTest::verifyFieldPositionWithPer( | |
1411 const char *description, | |
1412 const MeasureFormat &fmt, | |
1413 const UnicodeString &prefix, | |
1414 const Measure *measures, | |
1415 int32_t measureCount, | |
1416 const MeasureUnit &perUnit, | |
1417 NumberFormat::EAlignmentFields field, | |
1418 int32_t start, | |
1419 int32_t end) { | |
1420 UnicodeString result(prefix); | |
1421 FieldPosition pos(field); | |
1422 UErrorCode status = U_ZERO_ERROR; | |
1423 CharString ch; | 1604 CharString ch; |
1424 const char *descPrefix = ch.append(description, status) | 1605 const char *descPrefix = ch.append(description, status) |
1425 .append(": ", status).data(); | 1606 .append(": ", status).data(); |
1426 CharString beginIndex; | 1607 CharString beginIndex; |
1427 beginIndex.append(descPrefix, status).append("beginIndex", status); | 1608 beginIndex.append(descPrefix, status).append("beginIndex", status); |
1428 CharString endIndex; | 1609 CharString endIndex; |
1429 endIndex.append(descPrefix, status).append("endIndex", status); | 1610 endIndex.append(descPrefix, status).append("endIndex", status); |
1430 fmt.formatMeasuresPer( | 1611 fmt.formatMeasures(measures, measureCount, result, pos, status); |
1431 measures, | |
1432 measureCount, | |
1433 perUnit, | |
1434 result, | |
1435 pos, | |
1436 status); | |
1437 if (!assertSuccess("Error formatting", status)) { | 1612 if (!assertSuccess("Error formatting", status)) { |
1438 return; | 1613 return; |
1439 } | 1614 } |
1440 assertEquals(beginIndex.data(), start, pos.getBeginIndex()); | 1615 assertEquals(beginIndex.data(), start, pos.getBeginIndex()); |
1441 assertEquals(endIndex.data(), end, pos.getEndIndex()); | 1616 assertEquals(endIndex.data(), end, pos.getEndIndex()); |
1442 } | 1617 } |
1443 | 1618 |
1444 void MeasureFormatTest::verifyFormat( | 1619 void MeasureFormatTest::verifyFormat( |
1445 const char *description, | 1620 const char *description, |
1446 const MeasureFormat &fmt, | 1621 const MeasureFormat &fmt, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1482 verifyFormat(description, fmt, expectedResults[i].measures, expectedResu
lts[i].count, expectedResults[i].expected); | 1657 verifyFormat(description, fmt, expectedResults[i].measures, expectedResu
lts[i].count, expectedResults[i].expected); |
1483 } | 1658 } |
1484 } | 1659 } |
1485 | 1660 |
1486 extern IntlTest *createMeasureFormatTest() { | 1661 extern IntlTest *createMeasureFormatTest() { |
1487 return new MeasureFormatTest(); | 1662 return new MeasureFormatTest(); |
1488 } | 1663 } |
1489 | 1664 |
1490 #endif | 1665 #endif |
1491 | 1666 |
OLD | NEW |