diff options
| author | Wboerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-13 17:56:11 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-13 17:56:11 +0100 | 
| commit | 8f20aac54aed1a060d59d5169276ef3ed33a8dc9 (patch) | |
| tree | 0e80819868b60860d857748ad99950e741170712 /src/test | |
| parent | c5667ee90d7d542aa9984eb31b48b59d6240119b (diff) | |
| parent | ca4c004d473ad5ed02abd4a7beff3a5a65c83487 (diff) | |
Merge pull request #76 from lonkaars/wouter/gameloop
fps hotfix + regression test
Diffstat (limited to 'src/test')
| -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); +}  |