}
ComplexUnitsConverter(inputUnit, std::move(singleUnitsInOrder), ratesInfo, status);
+
+ // TODO(younies): question from Hugo: is this check appropriate? The
+ // U_ASSERT in greaterThanOrEqual suggests this should be an invariant for
+ // ComplexUnitConverter.
+ if (unitConverters_.length() == 0) {
+ status = U_INTERNAL_PROGRAM_ERROR;
+ }
}
ComplexUnitsConverter::ComplexUnitsConverter(const MeasureUnit inputUnit,
}
UBool ComplexUnitsConverter::greaterThanOrEqual(double quantity, double limit) const {
+ // TODO(younies): this assert fails for the first constructor above:
U_ASSERT(unitConverters_.length() > 0);
// first quantity is the biggest one.
usage.length(), usage.data())) {
return;
}
- // FIXME/TODO: actually test output. At this point, this causes an assertion
- // failure in complexunitsconverter.cpp:
- //
- // MaybeStackVector<Measure> result = router.route(inputAmount, status);
- // for (int i=0; i<result.length(); i++) {
- // unitsTest->logln("result[%d], number: %f, unit: %s", i, result[i]->getNumber().getDouble(status),
- // result[i]->getUnit().getIdentifier());
- // }
+
+ MaybeStackVector<Measure> result = router.route(inputAmount, status);
+ for (int i = 0; i < result.length(); i++) {
+ unitsTest->logln("result[%d], number: %f, unit: %s", i, result[i]->getNumber().getDouble(status),
+ result[i]->getUnit().getIdentifier());
+ }
}
/**