aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/LoopManagerTest.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/LoopManagerTest.cpp b/src/test/LoopManagerTest.cpp
index f73605e..55ccbb3 100644
--- a/src/test/LoopManagerTest.cpp
+++ b/src/test/LoopManagerTest.cpp
@@ -45,6 +45,28 @@ TEST_F(LoopManagerTest, FixedUpdate) {
// Test finished
}
+TEST_F(LoopManagerTest, ScaledFixedUpdate) {
+ // Arrange
+ test_loop.loop_timer.set_target_fps(60);
+
+ // Set expectations for the mock calls
+ EXPECT_CALL(test_loop, render).Times(::testing::Exactly(60));
+ EXPECT_CALL(test_loop, update).Times(::testing::Exactly(60));
+ EXPECT_CALL(test_loop, fixed_update).Times(::testing::Exactly(50));
+
+ // Start the loop in a separate thread
+ std::thread loop_thread([&]() { test_loop.start(); });
+
+ // Let the loop run for exactly 1 second
+ std::this_thread::sleep_for(std::chrono::seconds(1));
+
+ // Stop the game loop
+ test_loop.game_running = false;
+ // Wait for the loop thread to finish
+ loop_thread.join();
+
+ // Test finished
+}
TEST_F(LoopManagerTest, ShutDown) {
// Arrange
test_loop.loop_timer.set_target_fps(60);