diff options
author | Carbenium <carbenium@outlook.com> | 2020-07-25 18:16:17 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-24 00:01:38 +0100 |
commit | da17942af94a66ad4663d7995e2322d135366442 (patch) | |
tree | b2a90d288c68f3a986eb01d4e1fdb1d267c0afe8 /tests/common | |
parent | a5d85deceda576bfa8231d0a703024d13df1ff88 (diff) |
Core/EventMap: Clarify documentation of ScheduleEvent
(cherry picked from commit 7865c1c197f4eb9165ef3ab26eb4f750a5b58960)
Diffstat (limited to 'tests/common')
-rw-r--r-- | tests/common/test-EventMap.cpp | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/tests/common/test-EventMap.cpp b/tests/common/test-EventMap.cpp index 9a28361d930..21d5591872f 100644 --- a/tests/common/test-EventMap.cpp +++ b/tests/common/test-EventMap.cpp @@ -77,21 +77,40 @@ TEST_CASE("Schedule an event", "[EventMap]") } } -// TODO: The semantics of this case are not well defined. -// Document them first, check consumers and adapt test -// accordingly. -TEST_CASE("Schedule existing event", "[EventMap][!mayfail]") +TEST_CASE("Schedule existing event", "[EventMap]") { EventMap eventMap; - eventMap.ScheduleEvent(EVENT_1, 1s); - eventMap.ScheduleEvent(EVENT_1, 1s); + SECTION("Same time") + { + eventMap.ScheduleEvent(EVENT_1, 1s); + eventMap.ScheduleEvent(EVENT_1, 1s); - eventMap.Update(1000); - uint32 id = eventMap.ExecuteEvent(); + eventMap.Update(1000); + uint32 id = eventMap.ExecuteEvent(); + REQUIRE(id == EVENT_1); - REQUIRE(id == EVENT_1); - REQUIRE(eventMap.Empty()); + id = eventMap.ExecuteEvent(); + REQUIRE(id == EVENT_1); + + REQUIRE(eventMap.Empty()); + } + + SECTION("Different time") + { + eventMap.ScheduleEvent(EVENT_1, 1s); + eventMap.ScheduleEvent(EVENT_1, 2s); + + eventMap.Update(1000); + uint32 id = eventMap.ExecuteEvent(); + REQUIRE(id == EVENT_1); + + eventMap.Update(1000); + id = eventMap.ExecuteEvent(); + REQUIRE(id == EVENT_1); + + REQUIRE(eventMap.Empty()); + } } TEST_CASE("Cancel a scheduled event", "[EventMap]") |