#ifdef TESTS_BUILD #include "../extern/catch.hpp" #include "../src/Collections/List.hpp" using namespace Arbutils::Collections; TEST_CASE("Create List, insert values", "[Utilities]") { auto ls = List(); ls.Append(5); ls.Append(100); ls.Append(200); ls.Append(500); } TEST_CASE("Create List from initializer list", "[Utilities]") { auto ls = List({5, 200, 1500, -500}); CHECK(ls.At(0) == 5); CHECK(ls.At(1) == 200); CHECK(ls.At(2) == 1500); CHECK(ls.At(3) == -500); } TEST_CASE("Create List, insert values, retrieve values", "[Utilities]") { auto ls = List(); ls.Append(5); ls.Append(100); ls.Append(200); ls.Append(500); CHECK(ls.At(0) == 5); CHECK(ls.At(1) == 100); CHECK(ls.At(2) == 200); CHECK(ls.At(3) == 500); } TEST_CASE("Create List, insert values, iterate over values", "[Utilities]") { auto ls = List(); ls.Append(5); ls.Append(100); ls.Append(200); ls.Append(500); for (auto v: ls){ CHECK(ls.Contains(v)); } } TEST_CASE("Create const List, iterate over values", "[Utilities]") { const auto& ls = List({10, 100, 50}); for (auto v: ls){ CHECK(ls.Contains(v)); } } TEST_CASE("Create list of bools, assign to it", "[Utilities]") { auto ls = List({false, false, false}); ls[1] = true; CHECK(ls[1]); } #endif