aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/inputTest.cpp53
-rw-r--r--src/test/loopTimerTest.cpp32
2 files changed, 85 insertions, 0 deletions
diff --git a/src/test/inputTest.cpp b/src/test/inputTest.cpp
new file mode 100644
index 0000000..0f02410
--- /dev/null
+++ b/src/test/inputTest.cpp
@@ -0,0 +1,53 @@
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_keycode.h>
+#include "system/InputSystem.h"
+#include "api/EventManager.h"
+#include "api/KeyCodes.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+using namespace std;
+using namespace std::chrono_literals;
+using namespace crepe;
+
+class InputTest : public ::testing::Test {
+public:
+InputSystem input_system;
+EventManager& event_manager = EventManager::get_instance();
+protected:
+ void SetUp() override {
+ }
+
+ void TearDown() override {
+
+ }
+void simulate_mouse_click(int mouse_x, int mouse_y, Uint8 mouse_button) {
+ SDL_Event event;
+
+ // Simulate Mouse Button Down event
+ SDL_zero(event);
+ event.type = SDL_MOUSEBUTTONDOWN;
+ event.button.x = mouse_x;
+ event.button.y = mouse_y;
+ event.button.button = mouse_button;
+ SDL_PushEvent(&event);
+ SDL_zero(event);
+ event.type = SDL_MOUSEBUTTONUP;
+ event.button.x = mouse_x;
+ event.button.y = mouse_y;
+ event.button.button = mouse_button;
+ SDL_PushEvent(&event);
+}
+
+};
+
+TEST_F(InputTest, KeyDown) {
+
+ SDL_Event event;
+ SDL_zero(event);
+ event.type = SDL_MOUSEBUTTONDOWN;
+ event.button.x = 10;
+ event.button.y = 10;
+ event.button.button = mouse_bu;
+ SDL_PushEvent(&event); // Push event into the SDL event queue
+}
diff --git a/src/test/loopTimerTest.cpp b/src/test/loopTimerTest.cpp
new file mode 100644
index 0000000..a3b1646
--- /dev/null
+++ b/src/test/loopTimerTest.cpp
@@ -0,0 +1,32 @@
+#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 LoopTimerTest : public ::testing::Test {
+public:
+LoopTimer loop_timer = LoopTimer::get_instance();
+protected:
+ void SetUp() override {
+ loop_timer.start();
+ }
+
+ void TearDown() override {
+
+ }
+};
+TEST_F(LoopTimerTest, 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());
+}