#include #include #include "fsfw/util/dataWrapper.h" #include "mocks/SimpleSerializable.h" TEST_CASE("Data Wrapper", "[util]") { util::DataWrapper wrapper; SECTION("State") { REQUIRE(wrapper.isNull()); REQUIRE(wrapper.type == util::DataTypes::NONE); } SECTION("Set Raw Data") { REQUIRE(wrapper.isNull()); std::array data = {1, 2, 3, 4}; wrapper.setRawData({data.data(), data.size()}); REQUIRE(not wrapper.isNull()); REQUIRE(wrapper.type == util::DataTypes::RAW); REQUIRE(wrapper.dataUnion.raw.data == data.data()); REQUIRE(wrapper.dataUnion.raw.len == data.size()); } SECTION("Simple Serializable") { REQUIRE(wrapper.isNull()); SimpleSerializable serializable; wrapper.setSerializable(serializable); REQUIRE(not wrapper.isNull()); REQUIRE(wrapper.type == util::DataTypes::SERIALIZABLE); REQUIRE(wrapper.dataUnion.serializable == &serializable); } }