ICU-11628 C, update MeasureUnit interfaces and tests for new units in CLDR 27/28

X-SVN-Rev: 37626
This commit is contained in:
Peter Edberg 2015-06-28 03:26:33 +00:00
parent 4874d2eeaf
commit b64eeb479d
4 changed files with 461 additions and 74 deletions

View file

@ -37,7 +37,7 @@
#include "sharedpluralrules.h"
#include "unifiedcache.h"
#define MEAS_UNIT_COUNT 121
#define MEAS_UNIT_COUNT 129
#define WIDTH_INDEX_COUNT (UMEASFMT_WIDTH_NARROW + 1)
U_NAMESPACE_BEGIN

View file

@ -1,6 +1,6 @@
/*
**********************************************************************
* Copyright (c) 2004-2014, International Business Machines
* Copyright (c) 2004-2015, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Author: Alan Liu
@ -34,47 +34,47 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(MeasureUnit)
static const int32_t gOffsets[] = {
0,
2,
6,
15,
17,
277,
287,
297,
301,
307,
311,
329,
330,
341,
347,
352,
353,
7,
16,
19,
279,
289,
300,
304,
310,
314,
333,
334,
345,
351,
356,
359,
381
357,
361,
365,
389
};
static const int32_t gIndexes[] = {
0,
2,
6,
15,
17,
17,
27,
37,
41,
47,
51,
69,
70,
81,
87,
92,
93,
7,
16,
19,
19,
29,
40,
44,
50,
54,
73,
74,
85,
91,
96,
99,
121
97,
101,
105,
129
};
// Must be sorted alphabetically.
@ -108,6 +108,7 @@ static const char * const gSubTypes[] = {
"arc-second",
"degree",
"radian",
"revolution",
"acre",
"hectare",
"square-centimeter",
@ -117,6 +118,7 @@ static const char * const gSubTypes[] = {
"square-meter",
"square-mile",
"square-yard",
"liter-per-100kilometers",
"liter-per-kilometer",
"mile-per-gallon",
"ADP",
@ -389,6 +391,7 @@ static const char * const gSubTypes[] = {
"megabyte",
"terabit",
"terabyte",
"century",
"day",
"hour",
"microsecond",
@ -425,6 +428,7 @@ static const char * const gSubTypes[] = {
"meter",
"micrometer",
"mile",
"mile-scandinavian",
"millimeter",
"nanometer",
"nautical-mile",
@ -456,10 +460,12 @@ static const char * const gSubTypes[] = {
"pound-per-square-inch",
"karat",
"kilometer-per-hour",
"knot",
"meter-per-second",
"mile-per-hour",
"celsius",
"fahrenheit",
"generic",
"kelvin",
"acre-foot",
"bushel",
@ -472,6 +478,7 @@ static const char * const gSubTypes[] = {
"cubic-mile",
"cubic-yard",
"cup",
"cup-metric",
"deciliter",
"fluid-ounce",
"gallon",
@ -480,6 +487,7 @@ static const char * const gSubTypes[] = {
"megaliter",
"milliliter",
"pint",
"pint-metric",
"quart",
"tablespoon",
"teaspoon"
@ -487,12 +495,12 @@ static const char * const gSubTypes[] = {
// Must be sorted by first value and then second value.
static int32_t unitPerUnitToSingleUnit[][4] = {
{318, 288, 16, 0},
{320, 294, 16, 1},
{322, 288, 16, 2},
{322, 372, 3, 1},
{338, 10, 14, 4},
{374, 318, 3, 0}
{321, 291, 16, 0},
{323, 297, 16, 2},
{325, 291, 16, 3},
{325, 379, 3, 2},
{342, 11, 14, 4},
{381, 321, 3, 1}
};
MeasureUnit *MeasureUnit::createGForce(UErrorCode &status) {
@ -519,6 +527,10 @@ MeasureUnit *MeasureUnit::createRadian(UErrorCode &status) {
return MeasureUnit::create(1, 3, status);
}
MeasureUnit *MeasureUnit::createRevolution(UErrorCode &status) {
return MeasureUnit::create(1, 4, status);
}
MeasureUnit *MeasureUnit::createAcre(UErrorCode &status) {
return MeasureUnit::create(2, 0, status);
}
@ -555,14 +567,18 @@ MeasureUnit *MeasureUnit::createSquareYard(UErrorCode &status) {
return MeasureUnit::create(2, 8, status);
}
MeasureUnit *MeasureUnit::createLiterPerKilometer(UErrorCode &status) {
MeasureUnit *MeasureUnit::createLiterPer100Kilometers(UErrorCode &status) {
return MeasureUnit::create(3, 0, status);
}
MeasureUnit *MeasureUnit::createMilePerGallon(UErrorCode &status) {
MeasureUnit *MeasureUnit::createLiterPerKilometer(UErrorCode &status) {
return MeasureUnit::create(3, 1, status);
}
MeasureUnit *MeasureUnit::createMilePerGallon(UErrorCode &status) {
return MeasureUnit::create(3, 2, status);
}
MeasureUnit *MeasureUnit::createBit(UErrorCode &status) {
return MeasureUnit::create(5, 0, status);
}
@ -603,46 +619,50 @@ MeasureUnit *MeasureUnit::createTerabyte(UErrorCode &status) {
return MeasureUnit::create(5, 9, status);
}
MeasureUnit *MeasureUnit::createDay(UErrorCode &status) {
MeasureUnit *MeasureUnit::createCentury(UErrorCode &status) {
return MeasureUnit::create(6, 0, status);
}
MeasureUnit *MeasureUnit::createHour(UErrorCode &status) {
MeasureUnit *MeasureUnit::createDay(UErrorCode &status) {
return MeasureUnit::create(6, 1, status);
}
MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) {
MeasureUnit *MeasureUnit::createHour(UErrorCode &status) {
return MeasureUnit::create(6, 2, status);
}
MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) {
return MeasureUnit::create(6, 3, status);
}
MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) {
return MeasureUnit::create(6, 4, status);
}
MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) {
return MeasureUnit::create(6, 5, status);
}
MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) {
return MeasureUnit::create(6, 6, status);
}
MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) {
MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) {
return MeasureUnit::create(6, 7, status);
}
MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) {
MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) {
return MeasureUnit::create(6, 8, status);
}
MeasureUnit *MeasureUnit::createYear(UErrorCode &status) {
MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) {
return MeasureUnit::create(6, 9, status);
}
MeasureUnit *MeasureUnit::createYear(UErrorCode &status) {
return MeasureUnit::create(6, 10, status);
}
MeasureUnit *MeasureUnit::createAmpere(UErrorCode &status) {
return MeasureUnit::create(7, 0, status);
}
@ -747,30 +767,34 @@ MeasureUnit *MeasureUnit::createMile(UErrorCode &status) {
return MeasureUnit::create(10, 11, status);
}
MeasureUnit *MeasureUnit::createMillimeter(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMileScandinavian(UErrorCode &status) {
return MeasureUnit::create(10, 12, status);
}
MeasureUnit *MeasureUnit::createNanometer(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMillimeter(UErrorCode &status) {
return MeasureUnit::create(10, 13, status);
}
MeasureUnit *MeasureUnit::createNauticalMile(UErrorCode &status) {
MeasureUnit *MeasureUnit::createNanometer(UErrorCode &status) {
return MeasureUnit::create(10, 14, status);
}
MeasureUnit *MeasureUnit::createParsec(UErrorCode &status) {
MeasureUnit *MeasureUnit::createNauticalMile(UErrorCode &status) {
return MeasureUnit::create(10, 15, status);
}
MeasureUnit *MeasureUnit::createPicometer(UErrorCode &status) {
MeasureUnit *MeasureUnit::createParsec(UErrorCode &status) {
return MeasureUnit::create(10, 16, status);
}
MeasureUnit *MeasureUnit::createYard(UErrorCode &status) {
MeasureUnit *MeasureUnit::createPicometer(UErrorCode &status) {
return MeasureUnit::create(10, 17, status);
}
MeasureUnit *MeasureUnit::createYard(UErrorCode &status) {
return MeasureUnit::create(10, 18, status);
}
MeasureUnit *MeasureUnit::createLux(UErrorCode &status) {
return MeasureUnit::create(11, 0, status);
}
@ -871,14 +895,18 @@ MeasureUnit *MeasureUnit::createKilometerPerHour(UErrorCode &status) {
return MeasureUnit::create(16, 0, status);
}
MeasureUnit *MeasureUnit::createMeterPerSecond(UErrorCode &status) {
MeasureUnit *MeasureUnit::createKnot(UErrorCode &status) {
return MeasureUnit::create(16, 1, status);
}
MeasureUnit *MeasureUnit::createMilePerHour(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMeterPerSecond(UErrorCode &status) {
return MeasureUnit::create(16, 2, status);
}
MeasureUnit *MeasureUnit::createMilePerHour(UErrorCode &status) {
return MeasureUnit::create(16, 3, status);
}
MeasureUnit *MeasureUnit::createCelsius(UErrorCode &status) {
return MeasureUnit::create(17, 0, status);
}
@ -887,10 +915,14 @@ MeasureUnit *MeasureUnit::createFahrenheit(UErrorCode &status) {
return MeasureUnit::create(17, 1, status);
}
MeasureUnit *MeasureUnit::createKelvin(UErrorCode &status) {
MeasureUnit *MeasureUnit::createGeneric(UErrorCode &status) {
return MeasureUnit::create(17, 2, status);
}
MeasureUnit *MeasureUnit::createKelvin(UErrorCode &status) {
return MeasureUnit::create(17, 3, status);
}
MeasureUnit *MeasureUnit::createAcreFoot(UErrorCode &status) {
return MeasureUnit::create(18, 0, status);
}
@ -935,50 +967,58 @@ MeasureUnit *MeasureUnit::createCup(UErrorCode &status) {
return MeasureUnit::create(18, 10, status);
}
MeasureUnit *MeasureUnit::createDeciliter(UErrorCode &status) {
MeasureUnit *MeasureUnit::createCupMetric(UErrorCode &status) {
return MeasureUnit::create(18, 11, status);
}
MeasureUnit *MeasureUnit::createFluidOunce(UErrorCode &status) {
MeasureUnit *MeasureUnit::createDeciliter(UErrorCode &status) {
return MeasureUnit::create(18, 12, status);
}
MeasureUnit *MeasureUnit::createGallon(UErrorCode &status) {
MeasureUnit *MeasureUnit::createFluidOunce(UErrorCode &status) {
return MeasureUnit::create(18, 13, status);
}
MeasureUnit *MeasureUnit::createHectoliter(UErrorCode &status) {
MeasureUnit *MeasureUnit::createGallon(UErrorCode &status) {
return MeasureUnit::create(18, 14, status);
}
MeasureUnit *MeasureUnit::createLiter(UErrorCode &status) {
MeasureUnit *MeasureUnit::createHectoliter(UErrorCode &status) {
return MeasureUnit::create(18, 15, status);
}
MeasureUnit *MeasureUnit::createMegaliter(UErrorCode &status) {
MeasureUnit *MeasureUnit::createLiter(UErrorCode &status) {
return MeasureUnit::create(18, 16, status);
}
MeasureUnit *MeasureUnit::createMilliliter(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMegaliter(UErrorCode &status) {
return MeasureUnit::create(18, 17, status);
}
MeasureUnit *MeasureUnit::createPint(UErrorCode &status) {
MeasureUnit *MeasureUnit::createMilliliter(UErrorCode &status) {
return MeasureUnit::create(18, 18, status);
}
MeasureUnit *MeasureUnit::createQuart(UErrorCode &status) {
MeasureUnit *MeasureUnit::createPint(UErrorCode &status) {
return MeasureUnit::create(18, 19, status);
}
MeasureUnit *MeasureUnit::createTablespoon(UErrorCode &status) {
MeasureUnit *MeasureUnit::createPintMetric(UErrorCode &status) {
return MeasureUnit::create(18, 20, status);
}
MeasureUnit *MeasureUnit::createTeaspoon(UErrorCode &status) {
MeasureUnit *MeasureUnit::createQuart(UErrorCode &status) {
return MeasureUnit::create(18, 21, status);
}
MeasureUnit *MeasureUnit::createTablespoon(UErrorCode &status) {
return MeasureUnit::create(18, 22, status);
}
MeasureUnit *MeasureUnit::createTeaspoon(UErrorCode &status) {
return MeasureUnit::create(18, 23, status);
}
// End generated code
static int32_t binarySearch(

View file

@ -250,6 +250,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createRadian(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of angle: revolution.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createRevolution(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
/**
* Returns unit of area: acre.
@ -328,6 +338,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createSquareYard(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of consumption: liter-per-100kilometers.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
@ -448,6 +468,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createTerabyte(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of duration: century.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createCentury(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
/**
* Returns unit of duration: day.
@ -779,6 +809,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createMile(UErrorCode &status);
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of length: mile-scandinavian.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createMileScandinavian(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
/**
* Returns unit of length: millimeter.
* Caller owns returned value and must free it.
@ -1061,6 +1101,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createKilometerPerHour(UErrorCode &status);
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of speed: knot.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createKnot(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
/**
* Returns unit of speed: meter-per-second.
* Caller owns returned value and must free it.
@ -1093,6 +1143,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createFahrenheit(UErrorCode &status);
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of temperature: generic.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 55
*/
static MeasureUnit *createGeneric(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of temperature: kelvin.
@ -1208,6 +1268,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createCup(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of volume: cup-metric.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createCupMetric(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
@ -1286,6 +1356,16 @@ class U_I18N_API MeasureUnit: public UObject {
*/
static MeasureUnit *createPint(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
* Returns unit of volume: pint-metric.
* Caller owns returned value and must free it.
* @param status ICU error code.
* @draft ICU 56
*/
static MeasureUnit *createPintMetric(UErrorCode &status);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**

View file

@ -40,6 +40,8 @@ private:
void TestBasic();
void TestCompatible53_1();
void TestCompatible54_1();
void TestCompatible55_1();
void TestCompatible56_1();
void TestGetAvailable();
void TestExamplesInDocs();
void TestFormatPeriodEn();
@ -118,6 +120,8 @@ void MeasureFormatTest::runIndexedTest(
TESTCASE_AUTO(TestBasic);
TESTCASE_AUTO(TestCompatible53_1);
TESTCASE_AUTO(TestCompatible54_1);
TESTCASE_AUTO(TestCompatible55_1);
TESTCASE_AUTO(TestCompatible56_1);
TESTCASE_AUTO(TestGetAvailable);
TESTCASE_AUTO(TestExamplesInDocs);
TESTCASE_AUTO(TestFormatPeriodEn);
@ -319,6 +323,269 @@ void MeasureFormatTest::TestCompatible54_1() {
assertSuccess("", status);
}
void MeasureFormatTest::TestCompatible55_1() {
UErrorCode status = U_ZERO_ERROR;
LocalPointer<MeasureUnit> measureUnit;
measureUnit.adoptInstead(MeasureUnit::createGForce(status));
measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
measureUnit.adoptInstead(MeasureUnit::createDegree(status));
measureUnit.adoptInstead(MeasureUnit::createRadian(status));
measureUnit.adoptInstead(MeasureUnit::createAcre(status));
measureUnit.adoptInstead(MeasureUnit::createHectare(status));
measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
measureUnit.adoptInstead(MeasureUnit::createBit(status));
measureUnit.adoptInstead(MeasureUnit::createByte(status));
measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
measureUnit.adoptInstead(MeasureUnit::createDay(status));
measureUnit.adoptInstead(MeasureUnit::createHour(status));
measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
measureUnit.adoptInstead(MeasureUnit::createMinute(status));
measureUnit.adoptInstead(MeasureUnit::createMonth(status));
measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
measureUnit.adoptInstead(MeasureUnit::createSecond(status));
measureUnit.adoptInstead(MeasureUnit::createWeek(status));
measureUnit.adoptInstead(MeasureUnit::createYear(status));
measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
measureUnit.adoptInstead(MeasureUnit::createOhm(status));
measureUnit.adoptInstead(MeasureUnit::createVolt(status));
measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
measureUnit.adoptInstead(MeasureUnit::createJoule(status));
measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
measureUnit.adoptInstead(MeasureUnit::createHertz(status));
measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
measureUnit.adoptInstead(MeasureUnit::createFathom(status));
measureUnit.adoptInstead(MeasureUnit::createFoot(status));
measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
measureUnit.adoptInstead(MeasureUnit::createInch(status));
measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
measureUnit.adoptInstead(MeasureUnit::createMeter(status));
measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
measureUnit.adoptInstead(MeasureUnit::createMile(status));
measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
measureUnit.adoptInstead(MeasureUnit::createParsec(status));
measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
measureUnit.adoptInstead(MeasureUnit::createYard(status));
measureUnit.adoptInstead(MeasureUnit::createLux(status));
measureUnit.adoptInstead(MeasureUnit::createCarat(status));
measureUnit.adoptInstead(MeasureUnit::createGram(status));
measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
measureUnit.adoptInstead(MeasureUnit::createOunce(status));
measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
measureUnit.adoptInstead(MeasureUnit::createPound(status));
measureUnit.adoptInstead(MeasureUnit::createStone(status));
measureUnit.adoptInstead(MeasureUnit::createTon(status));
measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
measureUnit.adoptInstead(MeasureUnit::createWatt(status));
measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
measureUnit.adoptInstead(MeasureUnit::createKarat(status));
measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
measureUnit.adoptInstead(MeasureUnit::createGeneric(status));
measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
measureUnit.adoptInstead(MeasureUnit::createBushel(status));
measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
measureUnit.adoptInstead(MeasureUnit::createCup(status));
measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
measureUnit.adoptInstead(MeasureUnit::createGallon(status));
measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
measureUnit.adoptInstead(MeasureUnit::createLiter(status));
measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
measureUnit.adoptInstead(MeasureUnit::createPint(status));
measureUnit.adoptInstead(MeasureUnit::createQuart(status));
measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
assertSuccess("", status);
}
void MeasureFormatTest::TestCompatible56_1() {
UErrorCode status = U_ZERO_ERROR;
LocalPointer<MeasureUnit> measureUnit;
measureUnit.adoptInstead(MeasureUnit::createGForce(status));
measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
measureUnit.adoptInstead(MeasureUnit::createDegree(status));
measureUnit.adoptInstead(MeasureUnit::createRadian(status));
measureUnit.adoptInstead(MeasureUnit::createRevolution(status));
measureUnit.adoptInstead(MeasureUnit::createAcre(status));
measureUnit.adoptInstead(MeasureUnit::createHectare(status));
measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
measureUnit.adoptInstead(MeasureUnit::createBit(status));
measureUnit.adoptInstead(MeasureUnit::createByte(status));
measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
measureUnit.adoptInstead(MeasureUnit::createCentury(status));
measureUnit.adoptInstead(MeasureUnit::createDay(status));
measureUnit.adoptInstead(MeasureUnit::createHour(status));
measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
measureUnit.adoptInstead(MeasureUnit::createMinute(status));
measureUnit.adoptInstead(MeasureUnit::createMonth(status));
measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
measureUnit.adoptInstead(MeasureUnit::createSecond(status));
measureUnit.adoptInstead(MeasureUnit::createWeek(status));
measureUnit.adoptInstead(MeasureUnit::createYear(status));
measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
measureUnit.adoptInstead(MeasureUnit::createOhm(status));
measureUnit.adoptInstead(MeasureUnit::createVolt(status));
measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
measureUnit.adoptInstead(MeasureUnit::createJoule(status));
measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
measureUnit.adoptInstead(MeasureUnit::createHertz(status));
measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
measureUnit.adoptInstead(MeasureUnit::createFathom(status));
measureUnit.adoptInstead(MeasureUnit::createFoot(status));
measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
measureUnit.adoptInstead(MeasureUnit::createInch(status));
measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
measureUnit.adoptInstead(MeasureUnit::createMeter(status));
measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
measureUnit.adoptInstead(MeasureUnit::createMile(status));
measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
measureUnit.adoptInstead(MeasureUnit::createParsec(status));
measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
measureUnit.adoptInstead(MeasureUnit::createYard(status));
measureUnit.adoptInstead(MeasureUnit::createLux(status));
measureUnit.adoptInstead(MeasureUnit::createCarat(status));
measureUnit.adoptInstead(MeasureUnit::createGram(status));
measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
measureUnit.adoptInstead(MeasureUnit::createOunce(status));
measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
measureUnit.adoptInstead(MeasureUnit::createPound(status));
measureUnit.adoptInstead(MeasureUnit::createStone(status));
measureUnit.adoptInstead(MeasureUnit::createTon(status));
measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
measureUnit.adoptInstead(MeasureUnit::createWatt(status));
measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
measureUnit.adoptInstead(MeasureUnit::createKarat(status));
measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
measureUnit.adoptInstead(MeasureUnit::createKnot(status));
measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
measureUnit.adoptInstead(MeasureUnit::createGeneric(status));
measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
measureUnit.adoptInstead(MeasureUnit::createBushel(status));
measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
measureUnit.adoptInstead(MeasureUnit::createCup(status));
measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
measureUnit.adoptInstead(MeasureUnit::createGallon(status));
measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
measureUnit.adoptInstead(MeasureUnit::createLiter(status));
measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
measureUnit.adoptInstead(MeasureUnit::createPint(status));
measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
measureUnit.adoptInstead(MeasureUnit::createQuart(status));
measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
assertSuccess("", status);
}
void MeasureFormatTest::TestBasic() {
UErrorCode status = U_ZERO_ERROR;
MeasureUnit *ptr1 = MeasureUnit::createArcMinute(status);