@Test
public void testResetDelayMs() throws Exception {

    // Set clock to known point
    long now = System.currentTimeMillis();
    timeProvider.setTime(now);
    // Request delay time until max is reached
    int delay = 0;
    while (delay < maxDelay) {
        delay = delayManager.getReconnectDelayMs(address);
    }
    // Advance the clock by resetTime milliseconds
    now += resetTime;
    timeProvider.setTime(now);
    // Now bump the time up by resetTime and ensure that this
    // gives us a delay that is equal to initialDelay
    assertEquals(initialDelay, delayManager.getReconnectDelayMs(address));
    assertEquals(initialDelay * 2, delayManager.getReconnectDelayMs(address));
}