#include "gtest/gtest.h" #include "MetadataBuffer.hpp" using namespace std; TEST(MetadataBuffer, basic_operations) { int n_frames = 10; int n_modules = 3; unordered_map header_values { {"frame", HeaderDataType("uint64")}, {"module_number", HeaderDataType("uint64", n_modules)} }; MetadataBuffer metadata_buffer( static_cast(n_frames), header_values); uint64_t base_frame_data = 12345678; uint64_t base_module_number = 0; for (int i = 0; i header_values = { {"frame", HeaderDataType("uint64")}, {"module_number", HeaderDataType("uint64", n_modules)} }; MetadataBuffer metadata_buffer(n_frames, header_values); uint64_t data = 0; metadata_buffer.add_metadata_to_buffer("frame", 0, (char*)&data); metadata_buffer.get_metadata_values("frame"); EXPECT_THROW( metadata_buffer.get_metadata_values("non_existant"), runtime_error); EXPECT_THROW( metadata_buffer.add_metadata_to_buffer("non_existant", 0, nullptr), runtime_error); EXPECT_THROW( metadata_buffer.add_metadata_to_buffer("frame", n_frames, nullptr), runtime_error); }