#include "storm/Array.hpp" #include "storm/String.hpp" #include "test/Test.hpp" TEST_CASE("TSBaseArray", "[array]") { SECTION("constructs correctly") { TSBaseArray array; REQUIRE(array.Count() == 0); } } TEST_CASE("TSBaseArray::MemFileName", "[array]") { SECTION("returns a non-empty string") { TSBaseArray array; REQUIRE(SStrLen(array.MemFileName()) > 0); } } TEST_CASE("TSBaseArray::MemLineNo", "[array]") { SECTION("returns a negative number") { TSBaseArray array; REQUIRE(array.MemLineNo() < 0); } } TEST_CASE("TSFixedArray", "[array]") { SECTION("constructs correctly") { TSFixedArray array; REQUIRE(array.Count() == 0); } } TEST_CASE("TSFixedArray::Top", "[array]") { SECTION("returns nullptr when array has no elements") { TSFixedArray array; array.SetCount(0); REQUIRE(array.Top() == nullptr); } SECTION("returns first element when array has 1 element") { TSFixedArray array; array.SetCount(1); array[0] = 1000; REQUIRE(*array.Top() == 1000); } SECTION("returns last element when array has 2 elements") { TSFixedArray array; array.SetCount(2); array[0] = 1000; array[1] = 1001; REQUIRE(*array.Top() == 1001); } } TEST_CASE("TSGrowableArray", "[array]") { SECTION("constructs correctly") { TSGrowableArray array; REQUIRE(array.Count() == 0); } }