Current implementation does not work for duration values < 1ms.
Test to repreduce the bug:
@Test
void printSimpleWithUnitShouldPrintInUnit() {
Duration duration = Duration.ofMillis(1000);
assertThat(DurationStyle.SIMPLE.print(duration, ChronoUnit.SECONDS)).isEqualTo("1s");
assertThat(DurationStyle.SIMPLE.print(Duration.ofNanos(2000), ChronoUnit.MICROS)).isEqualTo("2us");
}
I assume the converter should rather be implemented like this:
/**
* Microseconds.
*/
MICROS(ChronoUnit.MICROS, "us", duration -> duration.toNanos() / 1000L),
Comment From: wilkinsona
Closing in favour of #27149.