#include <fsfw/container/FixedArrayList.h> #include <fsfw/returnvalues/returnvalue.h> #include <catch2/catch_test_macros.hpp> #include "CatchDefinitions.h" TEST_CASE("FixedArrayList Tests", "[containers]") { INFO("FixedArrayList Tests"); using testList = FixedArrayList<uint32_t, 260, uint16_t>; testList list; REQUIRE(list.size == 0); REQUIRE(list.insert(10) == static_cast<int>(returnvalue::OK)); REQUIRE(list.size == 1); REQUIRE(list.maxSize() == 260); SECTION("Copy Constructor") { testList list2(list); REQUIRE(list2.size == 1); REQUIRE(list2[0] == 10); REQUIRE(list.maxSize() == 260); }; SECTION("Assignment copy") { testList list2; REQUIRE(list2.size == 0); list2 = list; REQUIRE(list2.size == 1); REQUIRE(list2[0] == 10); REQUIRE(list.maxSize() == 260); }; SECTION("Fill") { for (auto i = 1; i < 260; i++) { REQUIRE(list.insert(i) == static_cast<int>(returnvalue::OK)); } REQUIRE(list.insert(260) == static_cast<int>(containers::LIST_FULL)); list.clear(); REQUIRE(list.size == 0); } }