mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-15 17:56:54 +00:00
ICU-20337 Adding value getters to C++ MeasureUnit API.
ICU-20337 Restoring comments in MeasureUnitTest.java
This commit is contained in:
parent
9a27ba01ef
commit
a184153a2c
6 changed files with 2153 additions and 179 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -53,7 +53,7 @@
|
|||
* // Create a "template" in a singleton unique_ptr but without setting a locale until the call site:
|
||||
* std::unique_ptr<UnlocalizedNumberFormatter> template = NumberFormatter::with()
|
||||
* .sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS)
|
||||
* .adoptUnit(MeasureUnit::createMeter(status))
|
||||
* .unit(MeasureUnit::getMeter())
|
||||
* .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME)
|
||||
* .clone();
|
||||
* template->locale(...).format(1234).toString(); // +1,234 meters in en-US
|
||||
|
@ -1489,11 +1489,10 @@ class U_I18N_API NumberFormatterSettings {
|
|||
* All units will be properly localized with locale data, and all units are compatible with notation styles,
|
||||
* rounding precisions, and other number formatter settings.
|
||||
*
|
||||
* Pass this method any instance of {@link MeasureUnit}. For units of measure (which often involve the
|
||||
* factory methods that return a pointer):
|
||||
* Pass this method any instance of {@link MeasureUnit}. For units of measure:
|
||||
*
|
||||
* <pre>
|
||||
* NumberFormatter::with().adoptUnit(MeasureUnit::createMeter(status))
|
||||
* NumberFormatter::with().unit(MeasureUnit::getMeter())
|
||||
* </pre>
|
||||
*
|
||||
* Currency:
|
||||
|
@ -1536,11 +1535,9 @@ class U_I18N_API NumberFormatterSettings {
|
|||
|
||||
/**
|
||||
* Like unit(), but takes ownership of a pointer. Convenient for use with the MeasureFormat factory
|
||||
* methods, which return pointers that need ownership. Example:
|
||||
* methods that return pointers that need ownership.
|
||||
*
|
||||
* <pre>
|
||||
* NumberFormatter::with().adoptUnit(MeasureUnit::createMeter(status))
|
||||
* </pre>
|
||||
* Note: consider using the MeasureFormat factory methods that return by value.
|
||||
*
|
||||
* @param unit
|
||||
* The unit to render.
|
||||
|
@ -1566,8 +1563,13 @@ class U_I18N_API NumberFormatterSettings {
|
|||
* Sets a unit to be used in the denominator. For example, to format "3 m/s", pass METER to the unit and SECOND to
|
||||
* the perUnit.
|
||||
*
|
||||
* Pass this method any instance of {@link MeasureUnit}. Since MeasureUnit factory methods return pointers, the
|
||||
* {@link #adoptPerUnit} version of this method is often more useful.
|
||||
* Pass this method any instance of {@link MeasureUnit}. Example:
|
||||
*
|
||||
* <pre>
|
||||
* NumberFormatter::with()
|
||||
* .unit(MeasureUnit::getMeter())
|
||||
* .perUnit(MeasureUnit::getSecond())
|
||||
* </pre>
|
||||
*
|
||||
* The default is not to display any unit in the denominator.
|
||||
*
|
||||
|
@ -1594,13 +1596,9 @@ class U_I18N_API NumberFormatterSettings {
|
|||
|
||||
/**
|
||||
* Like perUnit(), but takes ownership of a pointer. Convenient for use with the MeasureFormat factory
|
||||
* methods, which return pointers that need ownership. Example:
|
||||
* methods that return pointers that need ownership.
|
||||
*
|
||||
* <pre>
|
||||
* NumberFormatter::with()
|
||||
* .adoptUnit(MeasureUnit::createMeter(status))
|
||||
* .adoptPerUnit(MeasureUnit::createSecond(status))
|
||||
* </pre>
|
||||
* Note: consider using the MeasureFormat factory methods that return by value.
|
||||
*
|
||||
* @param perUnit
|
||||
* The unit to render in the denominator.
|
||||
|
|
|
@ -51,6 +51,7 @@ private:
|
|||
void TestCompatible58();
|
||||
void TestCompatible59();
|
||||
void TestCompatible63();
|
||||
void TestCompatible64();
|
||||
void TestGetAvailable();
|
||||
void TestExamplesInDocs();
|
||||
void TestFormatPeriodEn();
|
||||
|
@ -149,6 +150,7 @@ void MeasureFormatTest::runIndexedTest(
|
|||
TESTCASE_AUTO(TestCompatible58);
|
||||
TESTCASE_AUTO(TestCompatible59);
|
||||
TESTCASE_AUTO(TestCompatible63);
|
||||
TESTCASE_AUTO(TestCompatible64);
|
||||
TESTCASE_AUTO(TestGetAvailable);
|
||||
TESTCASE_AUTO(TestExamplesInDocs);
|
||||
TESTCASE_AUTO(TestFormatPeriodEn);
|
||||
|
@ -1189,6 +1191,291 @@ void MeasureFormatTest::TestCompatible63() {
|
|||
assertSuccess("", status);
|
||||
}
|
||||
|
||||
void MeasureFormatTest::TestCompatible64() {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
LocalPointer<MeasureUnit> measureUnit;
|
||||
MeasureUnit measureUnitValue;
|
||||
measureUnit.adoptInstead(MeasureUnit::createGForce(status));
|
||||
measureUnitValue = MeasureUnit::getGForce();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
|
||||
measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
|
||||
measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
|
||||
measureUnitValue = MeasureUnit::getArcMinute();
|
||||
measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
|
||||
measureUnitValue = MeasureUnit::getArcSecond();
|
||||
measureUnit.adoptInstead(MeasureUnit::createDegree(status));
|
||||
measureUnitValue = MeasureUnit::getDegree();
|
||||
measureUnit.adoptInstead(MeasureUnit::createRadian(status));
|
||||
measureUnitValue = MeasureUnit::getRadian();
|
||||
measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
|
||||
measureUnitValue = MeasureUnit::getRevolutionAngle();
|
||||
measureUnit.adoptInstead(MeasureUnit::createAcre(status));
|
||||
measureUnitValue = MeasureUnit::getAcre();
|
||||
measureUnit.adoptInstead(MeasureUnit::createHectare(status));
|
||||
measureUnitValue = MeasureUnit::getHectare();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
|
||||
measureUnitValue = MeasureUnit::getSquareCentimeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
|
||||
measureUnitValue = MeasureUnit::getSquareFoot();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
|
||||
measureUnitValue = MeasureUnit::getSquareInch();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
|
||||
measureUnitValue = MeasureUnit::getSquareKilometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
|
||||
measureUnitValue = MeasureUnit::getSquareMeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
|
||||
measureUnitValue = MeasureUnit::getSquareMile();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
|
||||
measureUnitValue = MeasureUnit::getSquareYard();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKarat(status));
|
||||
measureUnitValue = MeasureUnit::getKarat();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
|
||||
measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
|
||||
measureUnitValue = MeasureUnit::getMillimolePerLiter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
|
||||
measureUnitValue = MeasureUnit::getPartPerMillion();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPercent(status));
|
||||
measureUnitValue = MeasureUnit::getPercent();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPermille(status));
|
||||
measureUnitValue = MeasureUnit::getPermille();
|
||||
measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
|
||||
measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
|
||||
measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
|
||||
measureUnitValue = MeasureUnit::getLiterPerKilometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
|
||||
measureUnitValue = MeasureUnit::getMilePerGallon();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
|
||||
measureUnitValue = MeasureUnit::getMilePerGallonImperial();
|
||||
measureUnit.adoptInstead(MeasureUnit::createBit(status));
|
||||
measureUnitValue = MeasureUnit::getBit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createByte(status));
|
||||
measureUnitValue = MeasureUnit::getByte();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
|
||||
measureUnitValue = MeasureUnit::getGigabit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
|
||||
measureUnitValue = MeasureUnit::getGigabyte();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
|
||||
measureUnitValue = MeasureUnit::getKilobit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
|
||||
measureUnitValue = MeasureUnit::getKilobyte();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
|
||||
measureUnitValue = MeasureUnit::getMegabit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
|
||||
measureUnitValue = MeasureUnit::getMegabyte();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
|
||||
measureUnitValue = MeasureUnit::getPetabyte();
|
||||
measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
|
||||
measureUnitValue = MeasureUnit::getTerabit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
|
||||
measureUnitValue = MeasureUnit::getTerabyte();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCentury(status));
|
||||
measureUnitValue = MeasureUnit::getCentury();
|
||||
measureUnit.adoptInstead(MeasureUnit::createDay(status));
|
||||
measureUnitValue = MeasureUnit::getDay();
|
||||
measureUnit.adoptInstead(MeasureUnit::createHour(status));
|
||||
measureUnitValue = MeasureUnit::getHour();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
|
||||
measureUnitValue = MeasureUnit::getMicrosecond();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
|
||||
measureUnitValue = MeasureUnit::getMillisecond();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMinute(status));
|
||||
measureUnitValue = MeasureUnit::getMinute();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMonth(status));
|
||||
measureUnitValue = MeasureUnit::getMonth();
|
||||
measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
|
||||
measureUnitValue = MeasureUnit::getNanosecond();
|
||||
measureUnit.adoptInstead(MeasureUnit::createSecond(status));
|
||||
measureUnitValue = MeasureUnit::getSecond();
|
||||
measureUnit.adoptInstead(MeasureUnit::createWeek(status));
|
||||
measureUnitValue = MeasureUnit::getWeek();
|
||||
measureUnit.adoptInstead(MeasureUnit::createYear(status));
|
||||
measureUnitValue = MeasureUnit::getYear();
|
||||
measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
|
||||
measureUnitValue = MeasureUnit::getAmpere();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
|
||||
measureUnitValue = MeasureUnit::getMilliampere();
|
||||
measureUnit.adoptInstead(MeasureUnit::createOhm(status));
|
||||
measureUnitValue = MeasureUnit::getOhm();
|
||||
measureUnit.adoptInstead(MeasureUnit::createVolt(status));
|
||||
measureUnitValue = MeasureUnit::getVolt();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
|
||||
measureUnitValue = MeasureUnit::getCalorie();
|
||||
measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
|
||||
measureUnitValue = MeasureUnit::getFoodcalorie();
|
||||
measureUnit.adoptInstead(MeasureUnit::createJoule(status));
|
||||
measureUnitValue = MeasureUnit::getJoule();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
|
||||
measureUnitValue = MeasureUnit::getKilocalorie();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
|
||||
measureUnitValue = MeasureUnit::getKilojoule();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
|
||||
measureUnitValue = MeasureUnit::getKilowattHour();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
|
||||
measureUnitValue = MeasureUnit::getGigahertz();
|
||||
measureUnit.adoptInstead(MeasureUnit::createHertz(status));
|
||||
measureUnitValue = MeasureUnit::getHertz();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
|
||||
measureUnitValue = MeasureUnit::getKilohertz();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
|
||||
measureUnitValue = MeasureUnit::getMegahertz();
|
||||
measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
|
||||
measureUnitValue = MeasureUnit::getAstronomicalUnit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
|
||||
measureUnitValue = MeasureUnit::getCentimeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
|
||||
measureUnitValue = MeasureUnit::getDecimeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createFathom(status));
|
||||
measureUnitValue = MeasureUnit::getFathom();
|
||||
measureUnit.adoptInstead(MeasureUnit::createFoot(status));
|
||||
measureUnitValue = MeasureUnit::getFoot();
|
||||
measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
|
||||
measureUnitValue = MeasureUnit::getFurlong();
|
||||
measureUnit.adoptInstead(MeasureUnit::createInch(status));
|
||||
measureUnitValue = MeasureUnit::getInch();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
|
||||
measureUnitValue = MeasureUnit::getKilometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
|
||||
measureUnitValue = MeasureUnit::getLightYear();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMeter(status));
|
||||
measureUnitValue = MeasureUnit::getMeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
|
||||
measureUnitValue = MeasureUnit::getMicrometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMile(status));
|
||||
measureUnitValue = MeasureUnit::getMile();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
|
||||
measureUnitValue = MeasureUnit::getMileScandinavian();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
|
||||
measureUnitValue = MeasureUnit::getMillimeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
|
||||
measureUnitValue = MeasureUnit::getNanometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
|
||||
measureUnitValue = MeasureUnit::getNauticalMile();
|
||||
measureUnit.adoptInstead(MeasureUnit::createParsec(status));
|
||||
measureUnitValue = MeasureUnit::getParsec();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
|
||||
measureUnitValue = MeasureUnit::getPicometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPoint(status));
|
||||
measureUnitValue = MeasureUnit::getPoint();
|
||||
measureUnit.adoptInstead(MeasureUnit::createYard(status));
|
||||
measureUnitValue = MeasureUnit::getYard();
|
||||
measureUnit.adoptInstead(MeasureUnit::createLux(status));
|
||||
measureUnitValue = MeasureUnit::getLux();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCarat(status));
|
||||
measureUnitValue = MeasureUnit::getCarat();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGram(status));
|
||||
measureUnitValue = MeasureUnit::getGram();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
|
||||
measureUnitValue = MeasureUnit::getKilogram();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
|
||||
measureUnitValue = MeasureUnit::getMetricTon();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
|
||||
measureUnitValue = MeasureUnit::getMicrogram();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
|
||||
measureUnitValue = MeasureUnit::getMilligram();
|
||||
measureUnit.adoptInstead(MeasureUnit::createOunce(status));
|
||||
measureUnitValue = MeasureUnit::getOunce();
|
||||
measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
|
||||
measureUnitValue = MeasureUnit::getOunceTroy();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPound(status));
|
||||
measureUnitValue = MeasureUnit::getPound();
|
||||
measureUnit.adoptInstead(MeasureUnit::createStone(status));
|
||||
measureUnitValue = MeasureUnit::getStone();
|
||||
measureUnit.adoptInstead(MeasureUnit::createTon(status));
|
||||
measureUnitValue = MeasureUnit::getTon();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
|
||||
measureUnitValue = MeasureUnit::getGigawatt();
|
||||
measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
|
||||
measureUnitValue = MeasureUnit::getHorsepower();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
|
||||
measureUnitValue = MeasureUnit::getKilowatt();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
|
||||
measureUnitValue = MeasureUnit::getMegawatt();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
|
||||
measureUnitValue = MeasureUnit::getMilliwatt();
|
||||
measureUnit.adoptInstead(MeasureUnit::createWatt(status));
|
||||
measureUnitValue = MeasureUnit::getWatt();
|
||||
measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
|
||||
measureUnitValue = MeasureUnit::getAtmosphere();
|
||||
measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
|
||||
measureUnitValue = MeasureUnit::getHectopascal();
|
||||
measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
|
||||
measureUnitValue = MeasureUnit::getInchHg();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
|
||||
measureUnitValue = MeasureUnit::getMillibar();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
|
||||
measureUnitValue = MeasureUnit::getMillimeterOfMercury();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
|
||||
measureUnitValue = MeasureUnit::getPoundPerSquareInch();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
|
||||
measureUnitValue = MeasureUnit::getKilometerPerHour();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKnot(status));
|
||||
measureUnitValue = MeasureUnit::getKnot();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
|
||||
measureUnitValue = MeasureUnit::getMeterPerSecond();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
|
||||
measureUnitValue = MeasureUnit::getMilePerHour();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
|
||||
measureUnitValue = MeasureUnit::getCelsius();
|
||||
measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
|
||||
measureUnitValue = MeasureUnit::getFahrenheit();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
|
||||
measureUnitValue = MeasureUnit::getGenericTemperature();
|
||||
measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
|
||||
measureUnitValue = MeasureUnit::getKelvin();
|
||||
measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
|
||||
measureUnitValue = MeasureUnit::getAcreFoot();
|
||||
measureUnit.adoptInstead(MeasureUnit::createBushel(status));
|
||||
measureUnitValue = MeasureUnit::getBushel();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
|
||||
measureUnitValue = MeasureUnit::getCentiliter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
|
||||
measureUnitValue = MeasureUnit::getCubicCentimeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
|
||||
measureUnitValue = MeasureUnit::getCubicFoot();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
|
||||
measureUnitValue = MeasureUnit::getCubicInch();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
|
||||
measureUnitValue = MeasureUnit::getCubicKilometer();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
|
||||
measureUnitValue = MeasureUnit::getCubicMeter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
|
||||
measureUnitValue = MeasureUnit::getCubicMile();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
|
||||
measureUnitValue = MeasureUnit::getCubicYard();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCup(status));
|
||||
measureUnitValue = MeasureUnit::getCup();
|
||||
measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
|
||||
measureUnitValue = MeasureUnit::getCupMetric();
|
||||
measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
|
||||
measureUnitValue = MeasureUnit::getDeciliter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
|
||||
measureUnitValue = MeasureUnit::getFluidOunce();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGallon(status));
|
||||
measureUnitValue = MeasureUnit::getGallon();
|
||||
measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
|
||||
measureUnitValue = MeasureUnit::getGallonImperial();
|
||||
measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
|
||||
measureUnitValue = MeasureUnit::getHectoliter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createLiter(status));
|
||||
measureUnitValue = MeasureUnit::getLiter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
|
||||
measureUnitValue = MeasureUnit::getMegaliter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
|
||||
measureUnitValue = MeasureUnit::getMilliliter();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPint(status));
|
||||
measureUnitValue = MeasureUnit::getPint();
|
||||
measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
|
||||
measureUnitValue = MeasureUnit::getPintMetric();
|
||||
measureUnit.adoptInstead(MeasureUnit::createQuart(status));
|
||||
measureUnitValue = MeasureUnit::getQuart();
|
||||
measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
|
||||
measureUnitValue = MeasureUnit::getTablespoon();
|
||||
measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
|
||||
measureUnitValue = MeasureUnit::getTeaspoon();
|
||||
assertSuccess("", status);
|
||||
}
|
||||
|
||||
void MeasureFormatTest::TestBasic() {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
MeasureUnit *ptr1 = MeasureUnit::createArcMinute(status);
|
||||
|
|
|
@ -430,7 +430,7 @@ void NumberFormatterApiTest::unitMeasure() {
|
|||
assertFormatDescending(
|
||||
u"Meters Short and unit() method",
|
||||
u"measure-unit/length-meter",
|
||||
NumberFormatter::with().unit(METER),
|
||||
NumberFormatter::with().unit(MeasureUnit::getMeter()),
|
||||
Locale::getEnglish(),
|
||||
u"87,650 m",
|
||||
u"8,765 m",
|
||||
|
|
|
@ -70,7 +70,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
if (first == null || second == null) {
|
||||
throw new IllegalArgumentException("OrderedPair.of requires non null values.");
|
||||
}
|
||||
return new OrderedPair<F, S>(first, second);
|
||||
return new OrderedPair<>(first, second);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -85,9 +85,9 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
|
||||
private static final String[] DRAFT_VERSIONS = {"61", "62", "63"};
|
||||
|
||||
private static final HashSet<String> DRAFT_VERSION_SET = new HashSet<String>();
|
||||
private static final HashSet<String> DRAFT_VERSION_SET = new HashSet<>();
|
||||
|
||||
private static final HashSet<String> TIME_CODES = new HashSet<String>();
|
||||
private static final HashSet<String> TIME_CODES = new HashSet<>();
|
||||
|
||||
private static final String[][] JAVA_VERSIONS = {
|
||||
{"G_FORCE", "53"},
|
||||
|
@ -231,7 +231,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
{"ATMOSPHERE", "63"},
|
||||
};
|
||||
|
||||
private static final HashMap<String, String> JAVA_VERSION_MAP = new HashMap<String, String>();
|
||||
private static final HashMap<String, String> JAVA_VERSION_MAP = new HashMap<>();
|
||||
|
||||
static {
|
||||
TIME_CODES.add("year");
|
||||
|
@ -1616,7 +1616,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
}
|
||||
|
||||
static void assertUnique(Collection<?> coll) {
|
||||
int expectedSize = new HashSet<Object>(coll).size();
|
||||
int expectedSize = new HashSet<>(coll).size();
|
||||
int actualSize = coll.size();
|
||||
assertEquals("Collection should contain only unique elements", expectedSize, actualSize);
|
||||
}
|
||||
|
@ -1966,14 +1966,14 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
|
||||
@Test
|
||||
public void testOldFormatWithList() {
|
||||
List<Measure> measures = new ArrayList<Measure>(2);
|
||||
List<Measure> measures = new ArrayList<>(2);
|
||||
measures.add(new Measure(5, MeasureUnit.ACRE));
|
||||
measures.add(new Measure(3000, MeasureUnit.SQUARE_FOOT));
|
||||
MeasureFormat fmt = MeasureFormat.getInstance(
|
||||
ULocale.ENGLISH, FormatWidth.WIDE);
|
||||
assertEquals("", "5 acres, 3,000 square feet", fmt.format(measures));
|
||||
assertEquals("", "5 acres", fmt.format(measures.subList(0, 1)));
|
||||
List<String> badList = new ArrayList<String>();
|
||||
List<String> badList = new ArrayList<>();
|
||||
badList.add("be");
|
||||
badList.add("you");
|
||||
try {
|
||||
|
@ -2148,7 +2148,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
|
||||
@Test
|
||||
public void testCLDRUnitAvailability() {
|
||||
Set<MeasureUnit> knownUnits = new HashSet<MeasureUnit>();
|
||||
Set<MeasureUnit> knownUnits = new HashSet<>();
|
||||
Class cMeasureUnit, cTimeUnit;
|
||||
try {
|
||||
cMeasureUnit = Class.forName("com.ibm.icu.util.MeasureUnit");
|
||||
|
@ -2198,8 +2198,8 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
static Map<MeasureUnit, Pair<MeasureUnit, MeasureUnit>> getUnitsToPerParts() {
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
|
||||
Map<MeasureUnit, Pair<String, String>> unitsToPerStrings =
|
||||
new HashMap<MeasureUnit, Pair<String, String>>();
|
||||
Map<String, MeasureUnit> namesToUnits = new HashMap<String, MeasureUnit>();
|
||||
new HashMap<>();
|
||||
Map<String, MeasureUnit> namesToUnits = new HashMap<>();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
String type = entry.getKey();
|
||||
// Currency types are always atomic units, so we can skip these
|
||||
|
@ -2217,7 +2217,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
}
|
||||
}
|
||||
Map<MeasureUnit, Pair<MeasureUnit, MeasureUnit>> unitsToPerUnits =
|
||||
new HashMap<MeasureUnit, Pair<MeasureUnit, MeasureUnit>>();
|
||||
new HashMap<>();
|
||||
for (Map.Entry<MeasureUnit, Pair<String, String>> entry : unitsToPerStrings.entrySet()) {
|
||||
Pair<String, String> perStrings = entry.getValue();
|
||||
MeasureUnit unit = namesToUnits.get(perStrings.first);
|
||||
|
@ -2232,7 +2232,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
// DO NOT DELETE THIS FUNCTION! It may appear as dead code, but we use this to generate code
|
||||
// for MeasureFormat during the release process.
|
||||
static void generateCXXHConstants(String thisVersion) {
|
||||
Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
|
||||
Map<String, MeasureUnit> seen = new HashMap<>();
|
||||
System.out.println();
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
|
@ -2249,8 +2249,9 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
System.out.println("#ifndef U_HIDE_DRAFT_API");
|
||||
}
|
||||
System.out.println(" /**");
|
||||
System.out.println(" * Returns unit of " + type + ": " + code + ".");
|
||||
System.out.println(" * Returns by pointer, unit of " + type + ": " + code + ".");
|
||||
System.out.println(" * Caller owns returned value and must free it.");
|
||||
System.out.printf(" * Also see {@link #get%s()}.\n", name);
|
||||
System.out.println(" * @param status ICU error code.");
|
||||
if (isDraft(javaName)) {
|
||||
System.out.println(" * @draft ICU " + getVersion(javaName, thisVersion));
|
||||
|
@ -2259,6 +2260,19 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
}
|
||||
System.out.println(" */");
|
||||
System.out.printf(" static MeasureUnit *create%s(UErrorCode &status);\n", name);
|
||||
System.out.println();
|
||||
System.out.println(" /**");
|
||||
System.out.println(" * Returns by value, unit of " + type + ": " + code + ".");
|
||||
System.out.printf(" * Also see {@link #create%s()}.\n", name);
|
||||
// TODO: When the get* methods become stable in ICU 66, update their
|
||||
// @draft code to be more like that for the create* methods above.
|
||||
String getterVersion = getVersion(javaName, thisVersion);
|
||||
if (Integer.valueOf(getterVersion) < 64) {
|
||||
getterVersion = "64";
|
||||
}
|
||||
System.out.println(" * @draft ICU " + getterVersion);
|
||||
System.out.println(" */");
|
||||
System.out.printf(" static MeasureUnit get%s();\n", name);
|
||||
if (isDraft(javaName)) {
|
||||
System.out.println("#endif /* U_HIDE_DRAFT_API */");
|
||||
}
|
||||
|
@ -2280,7 +2294,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
// for MeasureFormat during the release process.
|
||||
static void updateJAVAVersions(String thisVersion) {
|
||||
System.out.println();
|
||||
Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
|
||||
Map<String, MeasureUnit> seen = new HashMap<>();
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
String type = entry.getKey();
|
||||
|
@ -2298,9 +2312,9 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
}
|
||||
|
||||
static TreeMap<String, List<MeasureUnit>> getAllUnits() {
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = new TreeMap<String, List<MeasureUnit>>();
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = new TreeMap<>();
|
||||
for (String type : MeasureUnit.getAvailableTypes()) {
|
||||
ArrayList<MeasureUnit> units = new ArrayList<MeasureUnit>(MeasureUnit.getAvailable(type));
|
||||
ArrayList<MeasureUnit> units = new ArrayList<>(MeasureUnit.getAvailable(type));
|
||||
Collections.sort(
|
||||
units,
|
||||
new Comparator<MeasureUnit>() {
|
||||
|
@ -2366,9 +2380,9 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
first = true;
|
||||
int offset = 0;
|
||||
int typeIdx = 0;
|
||||
Map<MeasureUnit, Integer> measureUnitToOffset = new HashMap<MeasureUnit, Integer>();
|
||||
Map<MeasureUnit, Integer> measureUnitToOffset = new HashMap<>();
|
||||
Map<MeasureUnit, Pair<Integer, Integer>> measureUnitToTypeSubType =
|
||||
new HashMap<MeasureUnit, Pair<Integer, Integer>>();
|
||||
new HashMap<>();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
int subTypeIdx = 0;
|
||||
for (MeasureUnit unit : entry.getValue()) {
|
||||
|
@ -2395,7 +2409,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
// Build unit per unit offsets to corresponding type sub types sorted by
|
||||
// unit first and then per unit.
|
||||
TreeMap<OrderedPair<Integer, Integer>, Pair<Integer, Integer>> unitPerUnitOffsetsToTypeSubType
|
||||
= new TreeMap<OrderedPair<Integer, Integer>, Pair<Integer, Integer>>();
|
||||
= new TreeMap<>();
|
||||
for (Map.Entry<MeasureUnit, Pair<MeasureUnit, MeasureUnit>> entry
|
||||
: getUnitsToPerParts().entrySet()) {
|
||||
Pair<MeasureUnit, MeasureUnit> unitPerUnit = entry.getValue();
|
||||
|
@ -2433,7 +2447,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
System.out.println("static const int32_t kBaseSubTypeIdx = " + baseSubTypeIdx + ";");
|
||||
System.out.println();
|
||||
|
||||
Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
|
||||
Map<String, MeasureUnit> seen = new HashMap<>();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
|
||||
String type = entry.getKey();
|
||||
|
@ -2452,6 +2466,11 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
typeSubType.first, typeSubType.second);
|
||||
System.out.println("}");
|
||||
System.out.println();
|
||||
System.out.printf("MeasureUnit MeasureUnit::get%s() {\n", name);
|
||||
System.out.printf(" return MeasureUnit(%d, %d);\n",
|
||||
typeSubType.first, typeSubType.second);
|
||||
System.out.println("}");
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2491,7 +2510,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
// DO NOT DELETE THIS FUNCTION! It may appear as dead code, but we use this to generate code
|
||||
// for MeasureFormat during the release process.
|
||||
static void generateBackwardCompatibilityTest(String version) {
|
||||
Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
|
||||
Map<String, MeasureUnit> seen = new HashMap<>();
|
||||
System.out.println();
|
||||
System.out.printf(" public void TestCompatible%s() {\n", version.replace(".", "_"));
|
||||
System.out.println(" MeasureUnit[] units = {");
|
||||
|
@ -2517,10 +2536,11 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
// for MeasureFormat during the release process.
|
||||
static void generateCXXBackwardCompatibilityTest(String version) {
|
||||
System.out.println();
|
||||
Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
|
||||
Map<String, MeasureUnit> seen = new HashMap<>();
|
||||
System.out.printf("void MeasureFormatTest::TestCompatible%s() {\n", version.replace(".", "_"));
|
||||
System.out.println(" UErrorCode status = U_ZERO_ERROR;");
|
||||
System.out.println(" LocalPointer<MeasureUnit> measureUnit;");
|
||||
System.out.println(" MeasureUnit measureUnitValue;");
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
if (isTypeHidden(entry.getKey())) {
|
||||
|
@ -2530,6 +2550,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
String camelCase = toCamelCase(unit);
|
||||
checkForDup(seen, camelCase, unit);
|
||||
System.out.printf(" measureUnit.adoptInstead(MeasureUnit::create%s(status));\n", camelCase);
|
||||
System.out.printf(" measureUnitValue = MeasureUnit::get%s();\n", camelCase);
|
||||
}
|
||||
}
|
||||
System.out.println(" assertSuccess(\"\", status);");
|
||||
|
@ -2560,7 +2581,7 @@ public class MeasureUnitTest extends TestFmwk {
|
|||
// for MeasureFormat during the release process.
|
||||
static void generateConstants(String thisVersion) {
|
||||
System.out.println();
|
||||
Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
|
||||
Map<String, MeasureUnit> seen = new HashMap<>();
|
||||
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
|
||||
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
|
||||
String type = entry.getKey();
|
||||
|
|
Loading…
Add table
Reference in a new issue