From 494a6c6fa10e4e7326e53a896bbca0d043eb09d4 Mon Sep 17 00:00:00 2001 From: gmega Date: Sat, 12 Aug 2023 07:59:26 -0300 Subject: [PATCH] minor refactor and simplifications to tests --- swarmsim/schedulableevent.nim | 5 +++-- tests/swarmsim/eventdrivenengine.nim | 14 ++------------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/swarmsim/schedulableevent.nim b/swarmsim/schedulableevent.nim index 7edfddd..c1fc844 100644 --- a/swarmsim/schedulableevent.nim +++ b/swarmsim/schedulableevent.nim @@ -4,8 +4,9 @@ func `<`*(self: SchedulableEvent, other: SchedulableEvent): bool = return self.time < other.time method atScheduledTime*(self: SchedulableEvent, engine: EventDrivenEngine): void {.base.} = - ## Callback invoked by the event engine indicating that this event is due for execution. + ## Callback invoked by the event engine indicating that this event is due for execution. By + ## default, it does nothing. ## - quit "unimplemented" + discard export SchedulableEvent diff --git a/tests/swarmsim/eventdrivenengine.nim b/tests/swarmsim/eventdrivenengine.nim index ff462c1..1f809a2 100644 --- a/tests/swarmsim/eventdrivenengine.nim +++ b/tests/swarmsim/eventdrivenengine.nim @@ -7,19 +7,12 @@ import std/algorithm import pkg/swarmsim/schedulableevent import pkg/swarmsim/eventdrivenengine -type - SimpleSchedulable = ref object of SchedulableEvent - scheduledAt: uint64 - -method atScheduledTime(schedulable: SimpleSchedulable, engine: EventDrivenEngine) = - schedulable.scheduledAt = engine.current_time - suite "event driven engine tests": test "should run schedulables at the right time": let times = @[1, 10, 5].map(time => uint64(time)) - let schedulables = times.map(time => SimpleSchedulable(time: time)) + let schedulables = times.map(time => SchedulableEvent(time: time)) let engine = EventDrivenEngine() @@ -27,9 +20,6 @@ suite "event driven engine tests": for time in times.sorted: let result = engine.nextStep().get() - check(result.time == time) + check(result.time == engine.current_time) check(engine.nextStep().isNone) - - for schedulable in schedulables: - check(schedulable.scheduledAt == schedulable.time)