From 9eeda3c9ba15fab06bc1a45e16a52a6afb8e3184 Mon Sep 17 00:00:00 2001 From: Sam Stajnko Date: Thu, 28 Aug 2025 15:45:47 +1000 Subject: [PATCH 1/3] Create unit test for function bitmap_name --- .../src/test/unit_tests/unit_test_bitmap.cpp | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/coresdk/src/test/unit_tests/unit_test_bitmap.cpp b/coresdk/src/test/unit_tests/unit_test_bitmap.cpp index e8e64bed..158f4048 100644 --- a/coresdk/src/test/unit_tests/unit_test_bitmap.cpp +++ b/coresdk/src/test/unit_tests/unit_test_bitmap.cpp @@ -128,3 +128,62 @@ TEST_CASE("bitmap bounding details can be retrieved", "[bitmap]") } free_bitmap(bmp); } + +TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") +{ + SECTION("can get bitmap name") + { + bitmap bmp = load_bitmap("rocket", "rocket_sprt.png"); + REQUIRE(bitmap_valid(bmp)); + + string name = bitmap_name(bmp); + REQUIRE(name == "rocket"); + } + + SECTION("empty string returned for bitmap name when passing nullptr") + { + string name = bitmap_name(nullptr); + REQUIRE(name == ""); + } + + SECTION("empty string returned for bitmap when passing freed bitmap") + { + bitmap bmp = load_bitmap("frog", "frog.png"); + REQUIRE(bitmap_valid(bmp)); + + free_bitmap(bmp); + + string name = bitmap_name(bmp); + REQUIRE_FALSE(name == "frog"); + REQUIRE(name == ""); + } + + SECTION("can get unique names from bitmaps when names are reused") + { + bitmap bmp_1 = create_bitmap("blank", 300, 200); + bitmap bmp_2 = create_bitmap("blank", 800, 600); + + string name_1 = bitmap_name(bmp_1); + string name_2 = bitmap_name(bmp_2); + + REQUIRE(name_1 == "blank"); + REQUIRE(name_2 == "blank0"); + } + + SECTION("can get name of bitmap when name is empty string") + { + bitmap bmp = create_bitmap("", 64, 64); + string name = bitmap_name(bmp); + + REQUIRE(name == ""); + } + + SECTION("can get name of bitmap when name includes special characters") + { + string silly_name = "AbCdEf 2+3=5 !@#$% \n"; + bitmap bmp = create_bitmap(silly_name, 128, 128); + + string returned_name = bitmap_name(bmp); + REQUIRE(returned_name == silly_name); + } +} From fd887b5f2ca3b5c3ef5e3e99a77bc17f308f55ba Mon Sep 17 00:00:00 2001 From: Sam Stajnko Date: Tue, 2 Sep 2025 12:00:28 +1000 Subject: [PATCH 2/3] Replace load_bitmap with create_bitmap --- coresdk/src/test/unit_tests/unit_test_bitmap.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/coresdk/src/test/unit_tests/unit_test_bitmap.cpp b/coresdk/src/test/unit_tests/unit_test_bitmap.cpp index 158f4048..266a1b77 100644 --- a/coresdk/src/test/unit_tests/unit_test_bitmap.cpp +++ b/coresdk/src/test/unit_tests/unit_test_bitmap.cpp @@ -133,9 +133,7 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") { SECTION("can get bitmap name") { - bitmap bmp = load_bitmap("rocket", "rocket_sprt.png"); - REQUIRE(bitmap_valid(bmp)); - + bitmap bmp = create_bitmap("rocket", 128, 512); string name = bitmap_name(bmp); REQUIRE(name == "rocket"); } @@ -148,13 +146,12 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") SECTION("empty string returned for bitmap when passing freed bitmap") { - bitmap bmp = load_bitmap("frog", "frog.png"); - REQUIRE(bitmap_valid(bmp)); - + bitmap bmp = create_bitmap("treasure", 256, 256); free_bitmap(bmp); - string name = bitmap_name(bmp); - REQUIRE_FALSE(name == "frog"); + + REQUIRE_FALSE(bitmap_valid(bmp)); + REQUIRE_FALSE(name == "treasure"); REQUIRE(name == ""); } From 7be239d3ef79a72b3e8868c22c91f36c582ddbda Mon Sep 17 00:00:00 2001 From: Sam Stajnko Date: Fri, 12 Sep 2025 16:48:40 +1000 Subject: [PATCH 3/3] Free bitmaps after each test. Minor refinements. --- .../src/test/unit_tests/unit_test_bitmap.cpp | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/coresdk/src/test/unit_tests/unit_test_bitmap.cpp b/coresdk/src/test/unit_tests/unit_test_bitmap.cpp index 266a1b77..cc18013d 100644 --- a/coresdk/src/test/unit_tests/unit_test_bitmap.cpp +++ b/coresdk/src/test/unit_tests/unit_test_bitmap.cpp @@ -133,9 +133,11 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") { SECTION("can get bitmap name") { - bitmap bmp = create_bitmap("rocket", 128, 512); + bitmap bmp = create_bitmap("rock", 28, 28); string name = bitmap_name(bmp); - REQUIRE(name == "rocket"); + REQUIRE(name == "rock"); + + free_bitmap(bmp); } SECTION("empty string returned for bitmap name when passing nullptr") @@ -146,7 +148,7 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") SECTION("empty string returned for bitmap when passing freed bitmap") { - bitmap bmp = create_bitmap("treasure", 256, 256); + bitmap bmp = create_bitmap("treasure", 32, 24); free_bitmap(bmp); string name = bitmap_name(bmp); @@ -157,14 +159,22 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") SECTION("can get unique names from bitmaps when names are reused") { - bitmap bmp_1 = create_bitmap("blank", 300, 200); - bitmap bmp_2 = create_bitmap("blank", 800, 600); + bitmap bmp_1 = create_bitmap("blank", 100, 200); + bitmap bmp_2 = create_bitmap("blank", 300, 400); + bitmap bmp_3 = create_bitmap("blank", 500, 600); + bitmap bmp_4 = create_bitmap("blank", 700, 800); string name_1 = bitmap_name(bmp_1); string name_2 = bitmap_name(bmp_2); + string name_3 = bitmap_name(bmp_3); + string name_4 = bitmap_name(bmp_4); REQUIRE(name_1 == "blank"); REQUIRE(name_2 == "blank0"); + REQUIRE(name_3 == "blank1"); + REQUIRE(name_4 == "blank2"); + + free_all_bitmaps(); } SECTION("can get name of bitmap when name is empty string") @@ -173,6 +183,8 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") string name = bitmap_name(bmp); REQUIRE(name == ""); + + free_bitmap(bmp); } SECTION("can get name of bitmap when name includes special characters") @@ -182,5 +194,7 @@ TEST_CASE("name can be retrieved from bitmap", "[bitmap][bitmap_name]") string returned_name = bitmap_name(bmp); REQUIRE(returned_name == silly_name); + + free_bitmap(bmp); } }