#ifdef TESTS_BUILD #include "../extern/catch.hpp" #include "../src/Memory/UniquePtrList.hpp" using namespace ArbUt; TEST_CASE("Create Unique Ptr list, append"){ auto ls = UniquePtrList(); auto v1 = new uint32_t (100); auto v2 = new uint32_t (5000); ls.Append(v1); ls.Append(v2); } TEST_CASE("Create Unique Ptr list, append, retrieve"){ auto ls = UniquePtrList(); auto v1 = new uint32_t (100); auto v2 = new uint32_t (5000); ls.Append(v1); ls.Append(v2); REQUIRE(ls.Count() == 2); CHECK(ls.At(0) == v1); CHECK(ls.At(1) == v2); CHECK(ls[0] == v1); CHECK(ls[1] == v2); } TEST_CASE("Create Unique Ptr list, append, iterate"){ auto ls = UniquePtrList(); auto v1 = new uint32_t (100); auto v2 = new uint32_t (5000); ls.Append(v1); ls.Append(v2); REQUIRE(ls.Count() == 2); auto i = 0; for (const auto& v : ls){ if (i == 0) CHECK(v == v1); else if (i == 1) CHECK(v == v2); i++; } } #endif