summaryrefslogtreecommitdiff
path: root/opendc-common/src/test/kotlin/org/opendc/common
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-11-09 21:24:08 +0000
committerFabian Mastenbroek <mail.fabianm@gmail.com>2022-11-13 17:42:01 +0000
commit00ac59e8e9d6a41c2eac55aa25420dce8fa9c6e0 (patch)
tree2d921b5573dcaa9b2bbbd1d7ab2e35f711493deb /opendc-common/src/test/kotlin/org/opendc/common
parent7a4b2c45a9926de59754b1d7219159656eea6e6d (diff)
refactor(sim/core): Re-implement SimulationScheduler as Dispatcher
This change updates the `SimulationScheduler` class to implement the `Dispatcher` interface from the OpenDC Common module, so that OpenDC modules only need to depend on the common module for dispatching future task (possibly in simulation).
Diffstat (limited to 'opendc-common/src/test/kotlin/org/opendc/common')
-rw-r--r--opendc-common/src/test/kotlin/org/opendc/common/util/PacerTest.kt14
-rw-r--r--opendc-common/src/test/kotlin/org/opendc/common/util/TimerSchedulerTest.kt22
2 files changed, 18 insertions, 18 deletions
diff --git a/opendc-common/src/test/kotlin/org/opendc/common/util/PacerTest.kt b/opendc-common/src/test/kotlin/org/opendc/common/util/PacerTest.kt
index 3fae2ebc..51e36eea 100644
--- a/opendc-common/src/test/kotlin/org/opendc/common/util/PacerTest.kt
+++ b/opendc-common/src/test/kotlin/org/opendc/common/util/PacerTest.kt
@@ -30,7 +30,7 @@ import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertThrows
import org.opendc.simulator.kotlin.runSimulation
-import java.time.Clock
+import java.time.InstantSource
import kotlin.coroutines.EmptyCoroutineContext
/**
@@ -39,7 +39,7 @@ import kotlin.coroutines.EmptyCoroutineContext
class PacerTest {
@Test
fun testEmptyContext() {
- assertThrows<IllegalArgumentException> { Pacer(EmptyCoroutineContext, Clock.systemUTC(), 100) {} }
+ assertThrows<IllegalArgumentException> { Pacer(EmptyCoroutineContext, InstantSource.system(), 100) {} }
}
@Test
@@ -47,7 +47,7 @@ class PacerTest {
var count = 0
runSimulation {
- val pacer = Pacer(coroutineContext, clock, quantum = 100) {
+ val pacer = Pacer(coroutineContext, timeSource, quantum = 100) {
count++
}
@@ -62,7 +62,7 @@ class PacerTest {
var count = 0
runSimulation {
- val pacer = Pacer(coroutineContext, clock, quantum = 100) {
+ val pacer = Pacer(coroutineContext, timeSource, quantum = 100) {
count++
}
@@ -80,7 +80,7 @@ class PacerTest {
var count = 0
runSimulation {
- val pacer = Pacer(coroutineContext, clock, quantum = 100) {
+ val pacer = Pacer(coroutineContext, timeSource, quantum = 100) {
count++
}
@@ -98,7 +98,7 @@ class PacerTest {
var count = 0
runSimulation {
- val pacer = Pacer(coroutineContext, clock, quantum = 100) {
+ val pacer = Pacer(coroutineContext, timeSource, quantum = 100) {
count++
}
@@ -116,7 +116,7 @@ class PacerTest {
var count = 0
runSimulation {
- val pacer = Pacer(coroutineContext, clock, quantum = 100) {
+ val pacer = Pacer(coroutineContext, timeSource, quantum = 100) {
count++
}
diff --git a/opendc-common/src/test/kotlin/org/opendc/common/util/TimerSchedulerTest.kt b/opendc-common/src/test/kotlin/org/opendc/common/util/TimerSchedulerTest.kt
index 22a26111..e8ec97a4 100644
--- a/opendc-common/src/test/kotlin/org/opendc/common/util/TimerSchedulerTest.kt
+++ b/opendc-common/src/test/kotlin/org/opendc/common/util/TimerSchedulerTest.kt
@@ -44,10 +44,10 @@ internal class TimerSchedulerTest {
@Test
fun testBasicTimer() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
scheduler.startSingleTimer(0, 1000) {
- assertEquals(1000, clock.millis())
+ assertEquals(1000, timeSource.millis())
}
assertTrue(scheduler.isTimerActive(0))
@@ -58,7 +58,7 @@ internal class TimerSchedulerTest {
@Test
fun testCancelNonExisting() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
scheduler.cancel(1)
}
@@ -67,7 +67,7 @@ internal class TimerSchedulerTest {
@Test
fun testCancelExisting() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
scheduler.startSingleTimer(0, 1000) {
fail()
@@ -76,7 +76,7 @@ internal class TimerSchedulerTest {
scheduler.startSingleTimer(1, 100) {
scheduler.cancel(0)
- assertEquals(100, clock.millis())
+ assertEquals(100, timeSource.millis())
}
}
}
@@ -84,7 +84,7 @@ internal class TimerSchedulerTest {
@Test
fun testCancelAll() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
scheduler.startSingleTimer(0, 1000) { fail() }
scheduler.startSingleTimer(1, 100) { fail() }
@@ -95,12 +95,12 @@ internal class TimerSchedulerTest {
@Test
fun testOverride() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
scheduler.startSingleTimer(0, 1000) { fail() }
scheduler.startSingleTimer(0, 200) {
- assertEquals(200, clock.millis())
+ assertEquals(200, timeSource.millis())
}
}
}
@@ -108,12 +108,12 @@ internal class TimerSchedulerTest {
@Test
fun testOverrideBlock() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
scheduler.startSingleTimer(0, 1000) { fail() }
scheduler.startSingleTimer(0, 1000) {
- assertEquals(1000, clock.millis())
+ assertEquals(1000, timeSource.millis())
}
}
}
@@ -121,7 +121,7 @@ internal class TimerSchedulerTest {
@Test
fun testNegativeDelay() {
runSimulation {
- val scheduler = TimerScheduler<Int>(coroutineContext, clock)
+ val scheduler = TimerScheduler<Int>(coroutineContext, timeSource)
assertThrows<IllegalArgumentException> {
scheduler.startSingleTimer(1, -1) {