Support microseconds in Duration conversions
Closes gh-13624
This commit is contained in:
parent
06a8c41943
commit
673a08d228
|
@ -1263,6 +1263,7 @@ read timeout of 500ms can be specified in any of the following form: `500`, `PT0
|
||||||
You can also use any of the supported unit. These are:
|
You can also use any of the supported unit. These are:
|
||||||
|
|
||||||
* `ns` for nanoseconds
|
* `ns` for nanoseconds
|
||||||
|
* `us` for microseconds
|
||||||
* `ms` for milliseconds
|
* `ms` for milliseconds
|
||||||
* `s` for seconds
|
* `s` for seconds
|
||||||
* `m` for minutes
|
* `m` for minutes
|
||||||
|
|
|
@ -180,6 +180,11 @@ public enum DurationStyle {
|
||||||
*/
|
*/
|
||||||
NANOS(ChronoUnit.NANOS, "ns", Duration::toNanos),
|
NANOS(ChronoUnit.NANOS, "ns", Duration::toNanos),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Microseconds.
|
||||||
|
*/
|
||||||
|
MICROS(ChronoUnit.MICROS, "us", (duration) -> duration.toMillis() * 1000L),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Milliseconds.
|
* Milliseconds.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -71,6 +71,18 @@ public class DurationStyleTests {
|
||||||
.isEqualTo(Duration.ofNanos(-10));
|
.isEqualTo(Duration.ofNanos(-10));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void detectAndParseWhenSimpleMicrosShouldReturnDuration() {
|
||||||
|
assertThat(DurationStyle.detectAndParse("10us"))
|
||||||
|
.isEqualTo(Duration.ofNanos(10000));
|
||||||
|
assertThat(DurationStyle.detectAndParse("10US"))
|
||||||
|
.isEqualTo(Duration.ofNanos(10000));
|
||||||
|
assertThat(DurationStyle.detectAndParse("+10us"))
|
||||||
|
.isEqualTo(Duration.ofNanos(10000));
|
||||||
|
assertThat(DurationStyle.detectAndParse("-10us"))
|
||||||
|
.isEqualTo(Duration.ofNanos(-10000));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void detectAndParseWhenSimpleMillisShouldReturnDuration() {
|
public void detectAndParseWhenSimpleMillisShouldReturnDuration() {
|
||||||
assertThat(DurationStyle.detectAndParse("10ms")).isEqualTo(Duration.ofMillis(10));
|
assertThat(DurationStyle.detectAndParse("10ms")).isEqualTo(Duration.ofMillis(10));
|
||||||
|
|
|
@ -70,6 +70,14 @@ public class StringToDurationConverterTests {
|
||||||
assertThat(convert("-10ns")).isEqualTo(Duration.ofNanos(-10));
|
assertThat(convert("-10ns")).isEqualTo(Duration.ofNanos(-10));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void convertWhenSimpleMicrosShouldReturnDuration() {
|
||||||
|
assertThat(convert("10us")).isEqualTo(Duration.ofNanos(10000));
|
||||||
|
assertThat(convert("10US")).isEqualTo(Duration.ofNanos(10000));
|
||||||
|
assertThat(convert("+10us")).isEqualTo(Duration.ofNanos(10000));
|
||||||
|
assertThat(convert("-10us")).isEqualTo(Duration.ofNanos(-10000));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void convertWhenSimpleMillisShouldReturnDuration() {
|
public void convertWhenSimpleMillisShouldReturnDuration() {
|
||||||
assertThat(convert("10ms")).isEqualTo(Duration.ofMillis(10));
|
assertThat(convert("10ms")).isEqualTo(Duration.ofMillis(10));
|
||||||
|
|
Loading…
Reference in New Issue