package restx.specs; import com.google.common.collect.ImmutableMap; import restx.factory.Component; import restx.tests.GivenCleaner; import restx.tests.GivenRunner; import restx.tests.NoopGivenCleaner; import java.time.Clock; import java.time.Instant; import java.time.ZoneId; import static restx.factory.Factory.LocalMachines.overrideComponents; @Component public class GivenTimeClockRunner implements GivenRunner<GivenTime> { @Override public Class<GivenTime> getGivenClass() { return GivenTime.class; } @Override public GivenCleaner run(GivenTime given, ImmutableMap<String, String> params) { overrideComponents().set(Clock.class, "clock", Clock.fixed(Instant.ofEpochMilli(given.getTime().getMillis()), ZoneId.systemDefault())); return NoopGivenCleaner.INSTANCE; } }