diff options
author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-14 14:38:25 +0100 |
---|---|---|
committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-14 14:38:25 +0100 |
commit | 93f0951738d3ac7b0249b5064c3ee7b6270eeb3a (patch) | |
tree | 639c91c9cd97be603760301476f884f46be69013 /src/test/LoopTimerTest.cpp | |
parent | aa1f1f9460fa713e00fd1830b08be743395110ce (diff) | |
parent | 876896e50711509e80ef551b4e8ad440e8039b97 (diff) |
Merge branch 'master' of https://github.com/lonkaars/crepe into wouter/text-component
Diffstat (limited to 'src/test/LoopTimerTest.cpp')
-rw-r--r-- | src/test/LoopTimerTest.cpp | 18 |
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); +} |