Interface Ticker
- All Known Subinterfaces:
MockTicker
public interface Ticker
A nanosecond-based time source, e.g.
System.nanoTime().-
Method Summary
Modifier and TypeMethodDescriptionlongThe initial value used for delay and computations based upon a monotonic time source.longnanoTime()The time elapsed since initialization of this class in nanoseconds.static MockTickerReturns a newly created mockTickerthat allows the caller control the flow of time.voidWaits until the given amount of time goes by.default voidsleepMillis(long delayMillis) Waits until the given amount of time goes by.static TickerReturns the singletonTickerthat returns the values from the real system clock source.
-
Method Details
-
systemTicker
Returns the singletonTickerthat returns the values from the real system clock source. However, note that this is not the same asSystem.nanoTime()because we apply a fixed offset to thenanoTime. -
newMockTicker
Returns a newly created mockTickerthat allows the caller control the flow of time. This can be useful when you test time-sensitive logic without waiting for too long or introducing flakiness due to non-deterministic nature of system clock. -
initialNanoTime
long initialNanoTime()The initial value used for delay and computations based upon a monotonic time source.- Returns:
- initial value used for delay and computations based upon a monotonic time source.
-
nanoTime
long nanoTime()The time elapsed since initialization of this class in nanoseconds. This may return a negative number just likeSystem.nanoTime(). -
sleep
Waits until the given amount of time goes by.- Parameters:
delay- the amount of delay.unit- theTimeUnitofdelay.- Throws:
InterruptedException- See Also:
-
sleepMillis
Waits until the given amount of time goes by.- Parameters:
delayMillis- the number of milliseconds.- Throws:
InterruptedException- See Also:
-