aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCarbenium <carbenium@outlook.com>2020-07-25 17:59:34 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-24 00:01:25 +0100
commita5d85deceda576bfa8231d0a703024d13df1ff88 (patch)
tree0bade2c99c732b23edafd2aec127c121ace508f0 /tests
parent5512eb2f8f09efe730ab2f997af7e7130d1e90f5 (diff)
Core/EventMap: Unify semantics of DelayEvents
DelayEvents(Milliseconds delay) had different semantics than DelayEvents(Milliseconds delay, uint32 group). The first method delayed the events only in the case the internal timer already ticked at least for the amount of delay. In contrast the latter method delayed events regardless of the internal timer value. Use the latter semantics for DelayEvents(Milliseconds delay) as well which makes the outcome more predictable. Adapt tests accordingly. (cherry picked from commit 4470b9122379dc846b322a441951a03913912b71)
Diffstat (limited to 'tests')
-rw-r--r--tests/common/test-EventMap.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/tests/common/test-EventMap.cpp b/tests/common/test-EventMap.cpp
index 89d3c4d2bb2..9a28361d930 100644
--- a/tests/common/test-EventMap.cpp
+++ b/tests/common/test-EventMap.cpp
@@ -15,7 +15,9 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#define CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER
#include "catch2/catch.hpp"
+
#include "EventMap.h"
enum EVENTS
@@ -282,8 +284,8 @@ TEST_CASE("Delay all events", "[EventMap]")
{
eventMap.DelayEvents(1s);
- // Timer hasn't ticked yet, so maximum delay is 0ms: 1s (init) + 0s (delay) = 1s
- REQUIRE(eventMap.GetTimeUntilEvent(EVENT_1) == 1s);
+ // 1s (init) + 1s (delay) = 2s
+ REQUIRE(eventMap.GetTimeUntilEvent(EVENT_1) == 2s);
}
SECTION("With timer update smaller than delay")
@@ -291,7 +293,8 @@ TEST_CASE("Delay all events", "[EventMap]")
eventMap.Update(500);
eventMap.DelayEvents(1s);
- REQUIRE(eventMap.GetTimeUntilEvent(EVENT_1) == 1s);
+ // 1s (init) + 1s (delay) - 500ms (tick) = 1500ms
+ REQUIRE(eventMap.GetTimeUntilEvent(EVENT_1) == 1500ms);
}
SECTION("With timer update larger than delay")