summaryrefslogtreecommitdiff
path: root/opendc-simulator/opendc-simulator-resources/src/test
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-09-27 14:22:02 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-10-03 17:17:38 +0200
commite07a5357013b92377a840b4d0d394d0ef6605b26 (patch)
tree4569d9b14fa7326df6b7d7803105ea9ed0580506 /opendc-simulator/opendc-simulator-resources/src/test
parent15899c88d29c039149f701e7f0d538a49a436599 (diff)
refactor(simulator): Remove onUpdate callback
This change removes the `onUpdate` callback from the `SimResourceProviderLogic` interface. Instead, users should now update counters using either `onConsume` or `onConverge`.
Diffstat (limited to 'opendc-simulator/opendc-simulator-resources/src/test')
-rw-r--r--opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceContextTest.kt24
-rw-r--r--opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceTransformerTest.kt3
2 files changed, 13 insertions, 14 deletions
diff --git a/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceContextTest.kt b/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceContextTest.kt
index c7230a0e..1428ce42 100644
--- a/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceContextTest.kt
+++ b/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceContextTest.kt
@@ -50,7 +50,7 @@ class SimResourceContextTest {
}
val logic = object : SimResourceProviderLogic {}
- val context = SimResourceContextImpl(null, interpreter, consumer, logic)
+ val context = SimResourceContextImpl(interpreter, consumer, logic)
interpreter.scheduleSync(interpreter.clock.millis(), context)
}
@@ -60,18 +60,15 @@ class SimResourceContextTest {
val interpreter = SimResourceInterpreterImpl(coroutineContext, clock)
val consumer = SimWorkConsumer(1.0, 1.0)
- val logic = spyk(object : SimResourceProviderLogic {
- override fun onFinish(ctx: SimResourceControllableContext) {}
- override fun onConsume(ctx: SimResourceControllableContext, now: Long, limit: Double, duration: Long): Long = duration
- })
- val context = SimResourceContextImpl(null, interpreter, consumer, logic)
+ val logic = spyk(object : SimResourceProviderLogic {})
+ val context = SimResourceContextImpl(interpreter, consumer, logic)
context.capacity = 1.0
context.start()
delay(1) // Delay 1 ms to prevent hitting the fast path
interpreter.scheduleSync(interpreter.clock.millis(), context)
- verify(exactly = 2) { logic.onConsume(any(), any(), any(), any()) }
+ verify(exactly = 2) { logic.onConsume(any(), any(), any(), any(), any()) }
}
@Test
@@ -80,7 +77,7 @@ class SimResourceContextTest {
val consumer = SimWorkConsumer(1.0, 1.0)
val logic = spyk(object : SimResourceProviderLogic {})
- val context = SimResourceContextImpl(null, interpreter, consumer, logic)
+ val context = SimResourceContextImpl(interpreter, consumer, logic)
context.capacity = 1.0
context.start()
@@ -90,8 +87,8 @@ class SimResourceContextTest {
context.invalidate()
assertAll(
- { verify(exactly = 2) { logic.onConsume(any(), any(), any(), any()) } },
- { verify(exactly = 1) { logic.onFinish(any()) } }
+ { verify(exactly = 2) { logic.onConsume(any(), any(), any(), any(), any()) } },
+ { verify(exactly = 1) { logic.onFinish(any(), any(), any()) } }
)
}
@@ -111,7 +108,7 @@ class SimResourceContextTest {
}
val logic = object : SimResourceProviderLogic {}
- val context = SimResourceContextImpl(null, interpreter, consumer, logic)
+ val context = SimResourceContextImpl(interpreter, consumer, logic)
context.start()
@@ -136,8 +133,7 @@ class SimResourceContextTest {
})
val logic = object : SimResourceProviderLogic {}
-
- val context = SimResourceContextImpl(null, interpreter, consumer, logic)
+ val context = SimResourceContextImpl(interpreter, consumer, logic)
context.capacity = 4200.0
context.start()
context.capacity = 4200.0
@@ -166,7 +162,7 @@ class SimResourceContextTest {
val logic = object : SimResourceProviderLogic {}
- val context = SimResourceContextImpl(null, interpreter, consumer, logic)
+ val context = SimResourceContextImpl(interpreter, consumer, logic)
context.start()
diff --git a/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceTransformerTest.kt b/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceTransformerTest.kt
index fc43c3da..d7d0924f 100644
--- a/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceTransformerTest.kt
+++ b/opendc-simulator/opendc-simulator-resources/src/test/kotlin/org/opendc/simulator/resources/SimResourceTransformerTest.kt
@@ -223,6 +223,9 @@ internal class SimResourceTransformerTest {
forwarder.consume(consumer)
+ yield()
+
+ assertEquals(2.0, source.counters.actual)
assertEquals(source.counters.actual, forwarder.counters.actual) { "Actual work" }
assertEquals(source.counters.demand, forwarder.counters.demand) { "Work demand" }
assertEquals(source.counters.overcommit, forwarder.counters.overcommit) { "Overcommitted work" }