From 63988a81133069302254ca3a4baa6aa7397608cb Mon Sep 17 00:00:00 2001 From: stelaukin Date: Tue, 6 Jan 2026 13:19:43 +1100 Subject: [PATCH 1/5] add timer unit test --- .../src/test/unit_tests/unit_test_timers.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 coresdk/src/test/unit_tests/unit_test_timers.cpp diff --git a/coresdk/src/test/unit_tests/unit_test_timers.cpp b/coresdk/src/test/unit_tests/unit_test_timers.cpp new file mode 100644 index 00000000..caeda7d1 --- /dev/null +++ b/coresdk/src/test/unit_tests/unit_test_timers.cpp @@ -0,0 +1,19 @@ +/** + * Timer Unit Tests + */ + +#include "catch.hpp" + +#include "timers.h" + +#include "logging_handling.h" + +using namespace splashkit_lib; + +TEST_CASE("timmy timer", "[timers]") +{ + timer t = create_timer("test_timer"); + REQUIRE(has_timer("test_timer")); + free_timer(t); + REQUIRE_FALSE(has_timer("test_timer")); +} From 27049d5da10268674a2f2a35adf5bcede4c8b255 Mon Sep 17 00:00:00 2001 From: stelaukin Date: Tue, 6 Jan 2026 13:39:06 +1100 Subject: [PATCH 2/5] update timer test --- coresdk/src/test/unit_tests/unit_test_timers.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/coresdk/src/test/unit_tests/unit_test_timers.cpp b/coresdk/src/test/unit_tests/unit_test_timers.cpp index caeda7d1..38980411 100644 --- a/coresdk/src/test/unit_tests/unit_test_timers.cpp +++ b/coresdk/src/test/unit_tests/unit_test_timers.cpp @@ -10,10 +10,23 @@ using namespace splashkit_lib; -TEST_CASE("timmy timer", "[timers]") +TEST_CASE("test create and free timer", "[timers][free_timer][create_timer]") { timer t = create_timer("test_timer"); REQUIRE(has_timer("test_timer")); free_timer(t); REQUIRE_FALSE(has_timer("test_timer")); } + +TEST_CASE("pause", "[timers][free_timer][create_timer]") +{ + timer t2 = create_timer("test_pause"); + start_timer(t2); + while (timer_ticks(t2) <= 0) + { + } + REQUIRE(timer_ticks(t2) > 0); + pause_timer(t2); + unsigned int ticks = timer_ticks(t2); + REQUIRE(timer_ticks(t2) == ticks); +} \ No newline at end of file From 9a362335a5959c0dff08858cbf7812f2ce9c5acc Mon Sep 17 00:00:00 2001 From: stelaukin Date: Sun, 11 Jan 2026 12:54:10 +1100 Subject: [PATCH 3/5] start pause timer test --- .../src/test/unit_tests/unit_test_timers.cpp | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/coresdk/src/test/unit_tests/unit_test_timers.cpp b/coresdk/src/test/unit_tests/unit_test_timers.cpp index 38980411..c1f041d6 100644 --- a/coresdk/src/test/unit_tests/unit_test_timers.cpp +++ b/coresdk/src/test/unit_tests/unit_test_timers.cpp @@ -3,30 +3,33 @@ */ #include "catch.hpp" - #include "timers.h" - #include "logging_handling.h" using namespace splashkit_lib; -TEST_CASE("test create and free timer", "[timers][free_timer][create_timer]") +TEST_CASE("create_timer and free_timer", "[timers][create_timer][free_timer]") { timer t = create_timer("test_timer"); REQUIRE(has_timer("test_timer")); + free_timer(t); REQUIRE_FALSE(has_timer("test_timer")); } -TEST_CASE("pause", "[timers][free_timer][create_timer]") +TEST_CASE("start_timer and pause_timer", "[timers][start_timer][pause_timer]") { - timer t2 = create_timer("test_pause"); - start_timer(t2); - while (timer_ticks(t2) <= 0) + timer t = create_timer("test_pause"); + REQUIRE(timer_ticks(t) == 0); // starts at 0 + + start_timer(t); + while (timer_ticks(t) == 0) { + // wait until some ticks have passed } - REQUIRE(timer_ticks(t2) > 0); - pause_timer(t2); - unsigned int ticks = timer_ticks(t2); - REQUIRE(timer_ticks(t2) == ticks); -} \ No newline at end of file + REQUIRE(timer_ticks(t) > 0); // time has advanced + + pause_timer(t); + unsigned int ticks = timer_ticks(t); + REQUIRE(timer_ticks(t) == ticks); // ticks do not change while paused +} From 4102df5a48bfed1e2557de6a0deddf1a5464a9bd Mon Sep 17 00:00:00 2001 From: stelaukin Date: Fri, 16 Jan 2026 20:07:29 +1100 Subject: [PATCH 4/5] changes made based on peer review --- .../src/test/unit_tests/unit_test_timers.cpp | 26 +++++++++---------- splashkit-core | 1 + 2 files changed, 14 insertions(+), 13 deletions(-) create mode 160000 splashkit-core diff --git a/coresdk/src/test/unit_tests/unit_test_timers.cpp b/coresdk/src/test/unit_tests/unit_test_timers.cpp index c1f041d6..a0d1b42d 100644 --- a/coresdk/src/test/unit_tests/unit_test_timers.cpp +++ b/coresdk/src/test/unit_tests/unit_test_timers.cpp @@ -8,28 +8,28 @@ using namespace splashkit_lib; -TEST_CASE("create_timer and free_timer", "[timers][create_timer][free_timer]") +TEST_CASE( + "timer can be created, started, paused, and freed", + "[timers][create_timer][free_timer][start_timer][pause_timer]") { - timer t = create_timer("test_timer"); - REQUIRE(has_timer("test_timer")); + timer t = create_timer("test"); + REQUIRE(has_timer("test")); - free_timer(t); - REQUIRE_FALSE(has_timer("test_timer")); -} - -TEST_CASE("start_timer and pause_timer", "[timers][start_timer][pause_timer]") -{ - timer t = create_timer("test_pause"); REQUIRE(timer_ticks(t) == 0); // starts at 0 + int attempts = 0; start_timer(t); - while (timer_ticks(t) == 0) + while (timer_ticks(t) == 0 || attempts < 1000) { - // wait until some ticks have passed - } + attempts++; + }; + REQUIRE(timer_ticks(t) > 0); // time has advanced pause_timer(t); unsigned int ticks = timer_ticks(t); REQUIRE(timer_ticks(t) == ticks); // ticks do not change while paused + + free_timer(t); + REQUIRE_FALSE(has_timer("test")); // check the same name we created } diff --git a/splashkit-core b/splashkit-core new file mode 160000 index 00000000..4cc1785a --- /dev/null +++ b/splashkit-core @@ -0,0 +1 @@ +Subproject commit 4cc1785a346693d75de3e1f3b4e94b92c4778230 From 92f9b75938d4f1da9bc80ef13fd4a43d5e5b88c3 Mon Sep 17 00:00:00 2001 From: stelaukin Date: Sat, 17 Jan 2026 17:33:11 +1100 Subject: [PATCH 5/5] remove folder and invidivualise tests cases --- .../src/test/unit_tests/unit_test_timers.cpp | 56 +++++++++++++++---- splashkit-core | 1 - 2 files changed, 45 insertions(+), 12 deletions(-) delete mode 160000 splashkit-core diff --git a/coresdk/src/test/unit_tests/unit_test_timers.cpp b/coresdk/src/test/unit_tests/unit_test_timers.cpp index a0d1b42d..b772b474 100644 --- a/coresdk/src/test/unit_tests/unit_test_timers.cpp +++ b/coresdk/src/test/unit_tests/unit_test_timers.cpp @@ -5,31 +5,65 @@ #include "catch.hpp" #include "timers.h" #include "logging_handling.h" +#include "utils.h" using namespace splashkit_lib; TEST_CASE( - "timer can be created, started, paused, and freed", - "[timers][create_timer][free_timer][start_timer][pause_timer]") + "timer can be created", + "[timers][create_timer]") { timer t = create_timer("test"); REQUIRE(has_timer("test")); + free_timer(t); +} - REQUIRE(timer_ticks(t) == 0); // starts at 0 +TEST_CASE( + "timer starts at zero ticks", + "[timers][create_timer][timer_ticks]") +{ + timer t = create_timer("test"); + REQUIRE(timer_ticks(t) == 0); + free_timer(t); +} - int attempts = 0; +TEST_CASE( + "timer advances after start", + "[timers][start_timer][timer_ticks]") +{ + timer t = create_timer("test"); start_timer(t); - while (timer_ticks(t) == 0 || attempts < 1000) - { - attempts++; - }; - REQUIRE(timer_ticks(t) > 0); // time has advanced + delay(200); + + REQUIRE(timer_ticks(t) > 0); + + free_timer(t); +} + +TEST_CASE( + "timer does not advance while paused", + "[timers][pause_timer][timer_ticks]") +{ + timer t = create_timer("test"); + start_timer(t); + delay(200); pause_timer(t); unsigned int ticks = timer_ticks(t); - REQUIRE(timer_ticks(t) == ticks); // ticks do not change while paused + delay(200); + + REQUIRE(timer_ticks(t) == ticks); free_timer(t); - REQUIRE_FALSE(has_timer("test")); // check the same name we created +} + +TEST_CASE( + "timer can be freed", + "[timers][free_timer]") +{ + timer t = create_timer("test"); + free_timer(t); + + REQUIRE_FALSE(has_timer("test")); } diff --git a/splashkit-core b/splashkit-core deleted file mode 160000 index 4cc1785a..00000000 --- a/splashkit-core +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4cc1785a346693d75de3e1f3b4e94b92c4778230