package org.skyscreamer.nevado.jms.util; import org.junit.Assert; import org.junit.Test; /** * Tests the BackoffSleeper. * * @author Carter Page <carter@skyscreamer.org> */ public class BackoffSleeperTest { @Test public void testBackoffSleeper() throws InterruptedException { BackoffSleeper sleeper = new BackoffSleeper(50, 230, 2.0); long now = System.currentTimeMillis(); sleeper.sleep(); Assert.assertEquals(now + 50, System.currentTimeMillis(), 50); sleeper.sleep(); Assert.assertEquals(now + 150, System.currentTimeMillis(), 100); sleeper.sleep(); Assert.assertEquals(now + 350, System.currentTimeMillis(), 100); sleeper.sleep(); Assert.assertEquals(now + 580, System.currentTimeMillis(), 100); sleeper.sleep(); Assert.assertEquals(now + 810, System.currentTimeMillis(), 100); sleeper.reset(); Assert.assertEquals(now + 810, System.currentTimeMillis(), 100); sleeper.sleep(); Assert.assertEquals(now + 860, System.currentTimeMillis(), 100); } }