public void testSetAvailableUnitRange() {
// sanity check, make sure by default all units are set
pbf = BasicPeriodFormatterService.getInstance().newPeriodBuilderFactory();
pbf.setLocale("en"); // in en locale, all units always available
PeriodBuilder b = pbf.getSingleUnitBuilder();
for (TimeUnit unit = YEAR; unit != null; unit = unit.smaller()) {
Period p = b.create((long)(approxDurations[unit.ordinal()]*2.5));
assertTrue(null, p.isSet(unit));
}
pbf.setAvailableUnitRange(MINUTE, MONTH);
// units that are not available are never set
b = pbf.getSingleUnitBuilder();
for (TimeUnit unit = YEAR; unit != null; unit = unit.smaller()) {
Period p = b.create((long)(approxDurations[unit.ordinal()]*2.5));
assertEquals(null, p.isSet(unit), unit.ordinal() >= MONTH.ordinal() && unit.ordinal() <= MINUTE.ordinal());
}
// fixed unit builder returns null when unit is not available
for (TimeUnit unit = YEAR; unit != null; unit = unit.smaller()) {