@Test
public void testInitialState()
{

    long startTime = getCurrentTimeNanos();
    BucketId bucketId = new MinuteBucketIdProvider(ticker).get();
    assertEquals(bucketId.getId(), 0);
    assertGreaterThanOrEqual(bucketId.getTimestamp(), startTime);
    assertLessThanOrEqual(bucketId.getTimestamp(), getCurrentTimeNanos());
    ticker.elapseTime(27, TimeUnit.HOURS);
    ticker.elapseTime(977_777, TimeUnit.NANOSECONDS);
    startTime = getCurrentTimeNanos();
    bucketId = new MinuteBucketIdProvider(ticker).get();
    assertEquals(bucketId.getId(), 0);
    assertGreaterThanOrEqual(bucketId.getTimestamp(), startTime);
    assertLessThanOrEqual(bucketId.getTimestamp(), getCurrentTimeNanos());
}