@Test public void testShouldContinue() { TruncatedBinaryBackoff backoff = new TruncatedBinaryBackoff( Amount.of(1L, Time.MILLISECONDS), Amount.of(6L, Time.MILLISECONDS), true); assertTrue(backoff.shouldContinue(0)); assertTrue(backoff.shouldContinue(1)); assertTrue(backoff.shouldContinue(2)); assertTrue(backoff.shouldContinue(4)); assertFalse(backoff.shouldContinue(6)); assertFalse(backoff.shouldContinue(8)); }
@Test public void testCalculateBackoffMs() { TruncatedBinaryBackoff backoff = new TruncatedBinaryBackoff( Amount.of(1L, Time.MILLISECONDS), Amount.of(12L, Time.MILLISECONDS)); try { backoff.calculateBackoffMs(-1L); fail("calculateBackoffMs should throw an exception when give a negative value."); } catch (IllegalArgumentException e) { // expected } long calculateBackoffMs0 = backoff.calculateBackoffMs(0); assertTrue(1 <= calculateBackoffMs0 && calculateBackoffMs0 <= 2); long calculateBackoffMs1 = backoff.calculateBackoffMs(1); assertTrue(1 <= calculateBackoffMs1 && calculateBackoffMs1 <= 2); long calculateBackoffMs2 = backoff.calculateBackoffMs(2); assertTrue(2 <= calculateBackoffMs2 && calculateBackoffMs2 <= 4); long calculateBackoffMs4 = backoff.calculateBackoffMs(4); assertTrue(4 <= calculateBackoffMs4 && calculateBackoffMs4 <= 8); long calculateBackoffMs8 = backoff.calculateBackoffMs(8); assertTrue(8 <= calculateBackoffMs8 && calculateBackoffMs8 <= 12); assertEquals(12, backoff.calculateBackoffMs(16)); }
@Test public void testCalculateBackoffMs() { TruncatedBinaryBackoff backoff = new TruncatedBinaryBackoff( Amount.of(1L, Time.MILLISECONDS), Amount.of(6L, Time.MILLISECONDS)); try { backoff.calculateBackoffMs(-1L); } catch (IllegalArgumentException e) { // expected } assertEquals(1, backoff.calculateBackoffMs(0)); assertEquals(2, backoff.calculateBackoffMs(1)); assertEquals(4, backoff.calculateBackoffMs(2)); assertEquals(6, backoff.calculateBackoffMs(4)); assertEquals(6, backoff.calculateBackoffMs(8)); }