diff options
Diffstat (limited to 'testutil/src/main/java/com/yahoo/test/ManualClock.java')
-rw-r--r-- | testutil/src/main/java/com/yahoo/test/ManualClock.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/testutil/src/main/java/com/yahoo/test/ManualClock.java b/testutil/src/main/java/com/yahoo/test/ManualClock.java index b8325b3e3fc..1ffc7aa77da 100644 --- a/testutil/src/main/java/com/yahoo/test/ManualClock.java +++ b/testutil/src/main/java/com/yahoo/test/ManualClock.java @@ -3,7 +3,10 @@ package com.yahoo.test; import java.time.Clock; import java.time.Instant; +import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAmount; /** A clock which initially has the time of its creation but can only be advanced by calling advance */ @@ -13,6 +16,10 @@ public class ManualClock extends Clock { public ManualClock() {} + public ManualClock(String utcIsoTime) { + this(at(utcIsoTime)); + } + public ManualClock(Instant currentTime) { this.currentTime = currentTime; } @@ -33,4 +40,8 @@ public class ManualClock extends Clock { @Override public long millis() { return currentTime.toEpochMilli(); } + public static Instant at(String utcIsoTime) { + return LocalDateTime.parse(utcIsoTime, DateTimeFormatter.ISO_DATE_TIME).atZone(ZoneOffset.UTC).toInstant(); + } + } |