public static Date getCurrentTime() { return now(); }
public static Date getCurrentTime() { return now(); }
@Test public void timeShouldMoveOnAfterTravel() throws InterruptedException { Date now = new Date(); long duration = TWO_DAYS; Date target = new Date(now.getTime() + duration); ClockUtil.offset(duration); assertThat(ClockUtil.now()).isCloseTo(target, ONE_SECOND); Thread.sleep(FIVE_SECONDS); assertThat(ClockUtil.now()).isCloseTo(new Date(target.getTime() + FIVE_SECONDS), ONE_SECOND); }
@Test public void offsetShouldTravelInTime() { long duration = TWO_DAYS; Date target = new Date(new Date().getTime() + duration); ClockUtil.offset(duration); assertThat(ClockUtil.now()).isCloseTo(target, ONE_SECOND); }
@Test public void nowShouldReturnCurrentTime() { assertThat(ClockUtil.now()).isCloseTo(new Date(), ONE_SECOND); }
@Test public void resetShouldResetToCurrentTime() { long duration = TWO_DAYS; Date target = new Date(new Date().getTime() + duration); ClockUtil.offset(duration); assertThat(ClockUtil.now()).isCloseTo(target, ONE_SECOND); ClockUtil.reset(); assertThat(ClockUtil.now()).isCloseTo(new Date(), ONE_SECOND); }
@Test public void setCurrentTimeShouldFreezeTime() { long duration = TWO_DAYS; Date target = new Date(new Date().getTime() + duration); ClockUtil.setCurrentTime(target); assertThat(ClockUtil.now()).isCloseTo(target, ONE_SECOND); }
@Test public void timeShouldFreezeWithSetCurrentTime() throws InterruptedException { Date now = new Date(); long duration = TWO_DAYS; Date target = new Date(now.getTime() + duration); ClockUtil.setCurrentTime(target); Thread.sleep(FIVE_SECONDS); assertThat(ClockUtil.now()).isCloseTo(target, ONE_SECOND); } }
@Test public void resetClockShouldResetToCurrentTime() { long duration = TWO_DAYS; Date target = new Date(new Date().getTime() + duration); ClockUtil.offset(duration); assertThat(ClockUtil.now()).isCloseTo(target, ONE_SECOND); assertThat(ClockUtil.resetClock()).isCloseTo(new Date(), ONE_SECOND); assertThat(ClockUtil.getCurrentTime()).isCloseTo(new Date(), ONE_SECOND); }
@Test public void getCurrentTimeShouldReturnSameValueAsNow() { assertThat(ClockUtil.getCurrentTime()).isCloseTo(ClockUtil.now(), ONE_SECOND); }