def test_scheduler_tick_multiple_events(): executed_events = set() scheduler = Scheduler() scheduler.schedule(TrackedEvent("event one", executed_events), 1) scheduler.schedule(TrackedEvent("event two", executed_events), 2) scheduler.schedule(TrackedEvent("event three", executed_events), 2) scheduler.schedule(TrackedEvent("event four", executed_events), 3) scheduler.tick() assert len(scheduler.priority_queue._queue) == 3 assert executed_events == {"event one"} scheduler.tick() assert len(scheduler.priority_queue._queue) == 2 assert executed_events == {"event one", "event two"} scheduler.tick() assert len(scheduler.priority_queue._queue) == 1 assert executed_events == {"event one", "event two", "event three"} scheduler.tick() assert len(scheduler.priority_queue._queue) == 0 assert executed_events == { "event one", "event two", "event three", "event four" }
def test_scheduler_tick(): scheduler = Scheduler() scheduler.schedule(TrackedEvent("event one", set()), 1) latest_event = scheduler.tick() assert latest_event.id == "event one"