aboutsummaryrefslogtreecommitdiff
path: root/src/test/LoopTimerTest.cpp
diff options
context:
space:
mode:
authorJAROWMR <jarorutjes07@gmail.com>2024-12-13 20:50:22 +0100
committerJAROWMR <jarorutjes07@gmail.com>2024-12-13 20:50:22 +0100
commit3d237aed79980e8703ca53df0549e0b48816e464 (patch)
treed71ba23092fe48eb063fe2d5d23b5d03aecb06b7 /src/test/LoopTimerTest.cpp
parent512aa7f54b88994d3095971b2001930b4e612947 (diff)
parent8f20aac54aed1a060d59d5169276ef3ed33a8dc9 (diff)
Merge branch 'master' of github.com:lonkaars/crepe into jaro/particle-system-improvement
Diffstat (limited to 'src/test/LoopTimerTest.cpp')
-rw-r--r--src/test/LoopTimerTest.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/test/LoopTimerTest.cpp b/src/test/LoopTimerTest.cpp
index d76bf45..7bd6305 100644
--- a/src/test/LoopTimerTest.cpp
+++ b/src/test/LoopTimerTest.cpp
@@ -30,7 +30,7 @@ TEST_F(LoopTimerTest, EnforcesTargetFrameRate) {
auto elapsed_ms = duration_cast<milliseconds>(elapsed_time).count();
// For 60 FPS, the target frame time is around 16.67ms
- ASSERT_NEAR(elapsed_ms, 16.7, 1);
+ ASSERT_NEAR(elapsed_ms, 16.7, 5);
}
TEST_F(LoopTimerTest, SetTargetFps) {
@@ -79,3 +79,19 @@ TEST_F(LoopTimerTest, DISABLED_getCurrentTime) {
ASSERT_NEAR(loop_timer.get_elapsed_time().count(), elapsed_time, 5);
}
+TEST_F(LoopTimerTest, getFPS) {
+ // Set the target FPS to 60 (which gives a target time per frame of ~16.67 ms)
+ loop_timer.set_target_framerate(60);
+
+ auto start_time = steady_clock::now();
+ loop_timer.enforce_frame_rate();
+
+ auto elapsed_time = steady_clock::now() - start_time;
+ loop_timer.update();
+ unsigned int fps = loop_timer.get_fps();
+ auto elapsed_ms = duration_cast<milliseconds>(elapsed_time).count();
+
+ // For 60 FPS, the target frame time is around 16.67ms
+ ASSERT_NEAR(elapsed_ms, 16.7, 1);
+ ASSERT_NEAR(fps, 60, 2);
+}