mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-17 02:37:25 +00:00
ICU-11628 C, update MeasureUnit interfaces and tests for new units in CLDR 27/28
X-SVN-Rev: 37626
This commit is contained in:
parent
4874d2eeaf
commit
b64eeb479d
4 changed files with 461 additions and 74 deletions
|
@ -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
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue