diff options
Diffstat (limited to 'jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java')
-rw-r--r-- | jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java new file mode 100644 index 00000000000..5afc205beb3 --- /dev/null +++ b/jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java @@ -0,0 +1,29 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc; + +import org.junit.Test; + +import java.time.Duration; +import java.time.Instant; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class TimeBudgetTestCase { + private final Timer timer = mock(Timer.class); + + @Test + public void testBasics() { + when(timer.currentTime()).thenReturn(Instant.ofEpochSecond(0)); + TimeBudget timeBudget = TimeBudget.fromNow(timer, Duration.ofSeconds(10)); + + when(timer.currentTime()).thenReturn(Instant.ofEpochSecond(7)); + assertEquals(Duration.ofSeconds(3), timeBudget.timeBeforeDeadline(Duration.ofSeconds(0))); + assertEquals(Duration.ofSeconds(1), timeBudget.timeBeforeDeadline(Duration.ofSeconds(2))); + assertEquals(Duration.ofSeconds(0), timeBudget.timeBeforeDeadline(Duration.ofSeconds(5))); + + when(timer.currentTime()).thenReturn(Instant.ofEpochSecond(11)); + assertEquals(Duration.ofSeconds(0), timeBudget.timeBeforeDeadline(Duration.ofSeconds(0))); + } +}
\ No newline at end of file |