aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCarbenium <carbenium@outlook.com>2020-07-25 18:16:17 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-24 00:01:38 +0100
commitda17942af94a66ad4663d7995e2322d135366442 (patch)
treeb2a90d288c68f3a986eb01d4e1fdb1d267c0afe8 /tests
parenta5d85deceda576bfa8231d0a703024d13df1ff88 (diff)
Core/EventMap: Clarify documentation of ScheduleEvent
(cherry picked from commit 7865c1c197f4eb9165ef3ab26eb4f750a5b58960)
Diffstat (limited to 'tests')
-rw-r--r--tests/common/test-EventMap.cpp39
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]")