aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/crepe/api/LoopTimer.h1
-rw-r--r--src/test/gameLoopTest.cpp34
2 files changed, 34 insertions, 1 deletions
diff --git a/src/crepe/api/LoopTimer.h b/src/crepe/api/LoopTimer.h
index eea60bb..0a48e20 100644
--- a/src/crepe/api/LoopTimer.h
+++ b/src/crepe/api/LoopTimer.h
@@ -68,7 +68,6 @@ private:
* Initializes the timer to begin tracking frame times.
*/
void start();
-
/**
* \brief Enforce the frame rate limit.
*
diff --git a/src/test/gameLoopTest.cpp b/src/test/gameLoopTest.cpp
new file mode 100644
index 0000000..af80b27
--- /dev/null
+++ b/src/test/gameLoopTest.cpp
@@ -0,0 +1,34 @@
+#define private public
+#define protected public
+#include "api/LoopManager.h"
+#include "api/LoopTimer.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+using namespace std;
+using namespace std::chrono_literals;
+using namespace crepe;
+
+class GameLoopTest : public ::testing::Test {
+public:
+LoopManager loop_manager;
+LoopTimer loop_timer = LoopTimer::get_instance();
+protected:
+ void SetUp() override {
+ loop_timer.start();
+ loop_manager.start();
+ }
+
+ void TearDown() override {
+
+ }
+};
+TEST_F(GameLoopTest, TestDeltaTime) {
+ auto start_time = std::chrono::steady_clock::now();
+
+ loop_timer.update();
+ double delta_time = loop_timer.get_delta_time();
+
+ auto elapsed_time = std::chrono::steady_clock::now() - start_time;
+ EXPECT_LE(delta_time, std::chrono::duration<double>(elapsed_time).count()); // delta_time should match or be slightly less
+}