Class FakeTicker

java.lang.Object
com.google.common.base.Ticker
com.google.common.testing.FakeTicker

public class FakeTicker extends Ticker
A Ticker whose value can be advanced programmatically in test.

The ticker can be configured so that the time is incremented whenever read() is called: see setAutoIncrementStep(long, java.util.concurrent.TimeUnit).

This class is thread-safe.

Since:
10.0
  • Field Details

    • nanos

      private final AtomicLong nanos
    • autoIncrementStepNanos

      private volatile long autoIncrementStepNanos
  • Constructor Details

    • FakeTicker

      public FakeTicker()
  • Method Details

    • advance

      public FakeTicker advance(long time, TimeUnit timeUnit)
      Advances the ticker value by time in timeUnit.
    • advance

      public FakeTicker advance(long nanoseconds)
      Advances the ticker value by nanoseconds.
    • advance

      public FakeTicker advance(Duration duration)
      Advances the ticker value by duration.
      Since:
      28.0
    • setAutoIncrementStep

      public FakeTicker setAutoIncrementStep(long autoIncrementStep, TimeUnit timeUnit)
      Sets the increment applied to the ticker whenever it is queried.

      The default behavior is to auto increment by zero. i.e: The ticker is left unchanged when queried.

    • setAutoIncrementStep

      public FakeTicker setAutoIncrementStep(Duration autoIncrementStep)
      Sets the increment applied to the ticker whenever it is queried.

      The default behavior is to auto increment by zero. i.e: The ticker is left unchanged when queried.

      Since:
      28.0
    • read

      public long read()
      Description copied from class: Ticker
      Returns the number of nanoseconds elapsed since this ticker's fixed point of reference.
      Specified by:
      read in class Ticker