@Override public TimeValue schedule(final int attemptNumber) { return TimeValue.ofMilliseconds(calculateDelayInMillis(attemptNumber)); }
@Test public void testSchedule() { Assert.assertEquals(TimeValue.ofMilliseconds(0), impl.schedule(0)); Assert.assertEquals(TimeValue.ofMilliseconds(6000), impl.schedule(1)); Assert.assertEquals(TimeValue.ofMilliseconds(60000), impl.schedule(2)); Assert.assertEquals(TimeValue.ofMilliseconds(600000), impl.schedule(3)); Assert.assertEquals(TimeValue.ofMilliseconds(6000000), impl.schedule(4)); Assert.assertEquals(TimeValue.ofMilliseconds(60000000), impl.schedule(5)); Assert.assertEquals(TimeValue.ofMilliseconds(86400000), impl.schedule(6)); Assert.assertEquals(TimeValue.ofMilliseconds(86400000), impl.schedule(Integer.MAX_VALUE)); }
@Override public TimeValue schedule(final int attemptNumber) { return TimeValue.ofMilliseconds(calculateDelayInMillis(attemptNumber)); }
@Test(expected = ArithmeticException.class) public void testDivideBy0() { TimeValue.ofMilliseconds(0).divide(0); }
@Test public void testDivide() { // nominator is 0, result should be 0. Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toDays()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toHours()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMicros()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMillis()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMinutes()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toNanos()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toSeconds()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toMillisIntBound()); Assert.assertEquals(0, TimeValue.ofMilliseconds(0).divide(2).toSecondsIntBound()); // Assert.assertEquals(50, TimeValue.ofMilliseconds(100).divide(2).toMillis()); Assert.assertEquals(0, TimeValue.ofMinutes(1).divide(2).toSeconds()); Assert.assertEquals(30, TimeValue.ofMinutes(1).divide(2, TimeUnit.SECONDS).toSeconds()); Assert.assertEquals(30000, TimeValue.ofMinutes(1).divide(2, TimeUnit.MILLISECONDS).toMillis()); }
@Test public void testConvert() { Assert.assertEquals(0, TimeValue.ofMilliseconds(0).convert(TimeUnit.DAYS)); Assert.assertEquals(1000, TimeValue.ofSeconds(1).convert(TimeUnit.MILLISECONDS)); }
@Test public void testMessage() { final Deadline deadline = Deadline.fromUnixMillis(1000).freeze(); Assert.assertTrue(deadline.toString(), deadline.isExpired()); final String format = deadline.formatTarget(); final TimeValue diff = TimeValue.ofMilliseconds(deadline.remaining()); Assert.assertEquals("Deadline: " + format + ", " + diff + " overdue", DeadlineTimeoutException.from(deadline).getMessage()); }
@Test public void testFromString() throws ParseException { Assert.assertEquals(TimeValue.ofSeconds(Long.MAX_VALUE), TimeValue.parse("9,223,372,036,854,775,807 SECONDS")); Assert.assertEquals(TimeValue.ofSeconds(Long.MAX_VALUE), TimeValue.parse("9223372036854775807 SECONDS")); Assert.assertEquals(TimeValue.ofSeconds(Long.MAX_VALUE), TimeValue.parse(" 9223372036854775807 SECONDS ")); Assert.assertEquals(TimeValue.ofSeconds(Long.MAX_VALUE), TimeValue.parse("9,223,372,036,854,775,807 Seconds")); Assert.assertEquals(TimeValue.ofSeconds(Long.MAX_VALUE), TimeValue.parse("9,223,372,036,854,775,807 Seconds")); Assert.assertEquals(TimeValue.ofSeconds(Long.MAX_VALUE), TimeValue.parse("9,223,372,036,854,775,807\tSeconds")); Assert.assertEquals(TimeValue.ZERO_MILLISECONDS, TimeValue.parse("0 MILLISECONDS")); Assert.assertEquals(TimeValue.ofMilliseconds(1), TimeValue.parse("1 MILLISECOND")); }
final TimeValue nanos1 = TimeValue.ofNanoseconds(1); final TimeValue micros1 = TimeValue.ofMicroseconds(1); final TimeValue millis1 = TimeValue.ofMilliseconds(1); final TimeValue seconds1 = TimeValue.ofSeconds(1); final TimeValue minutes1 = TimeValue.ofMinutes(1);