com.r3corda.node.internal.testing / TestClock

# TestClock

`class TestClock : MutableClock, SerializeAsToken`

A Clock that can have the time advanced for use in testing.

### Constructors

<init> | `TestClock(delegateClock: Clock = Clock.systemUTC())` A Clock that can have the time advanced for use in testing.

### Inherited Properties

mutationCount | `val mutationCount: Long` This tracks how many direct mutations of "now" have occured for this Clock, but not the passage of time.
mutations | `val mutations: <ERROR CLASS><Long>` This is an observer on the mutation count of this Clock, which reflects the occurence of mutations.

### Functions

advanceBy | `fun advanceBy(duration: Duration): Unit` Advance this Clock by the specified Duration for testing purposes.
getZone | `fun getZone(): ZoneId`
instant | `fun instant(): Instant`
setTo | `fun setTo(newInstant: Instant): Unit` Move this Clock to the specified Instant for testing purposes.
toToken | `fun toToken(context: SerializeAsTokenContext): SerializationToken`
withZone | `fun withZone(zone: ZoneId): Clock`

### Inherited Functions

notifyMutationObservers | `fun notifyMutationObservers(): Unit` Must be called by subclasses when they mutate (but not just with the passage of time as per the "wall clock").

### Extension Functions

awaitWithDeadline | `fun Clock.awaitWithDeadline(deadline: Instant, future: Future<*> = SettableFuture<Any>()): Boolean` Wait until the given Future is complete or the deadline is reached, with support for MutableClock implementations used in demos or testing. This will also substitute a Fiber compatible Future if required.