diff --git a/unit_tests/storage/serialization.cpp b/unit_tests/storage/serialization.cpp index 04d792501..e93e36b7a 100644 --- a/unit_tests/storage/serialization.cpp +++ b/unit_tests/storage/serialization.cpp @@ -72,4 +72,44 @@ BOOST_AUTO_TEST_CASE(tar_serialize_bool_vector) } } +BOOST_AUTO_TEST_CASE(tar_serialize_int_vector) +{ + TemporaryFile tmp; + { + std::vector> data = { + {}, {0}, {1, -2, 3}, {4, -5, 6, -7, 8, -9, 10, -11}, {-12, 13, -14, 15, -16, 17, -18, 19, -20}}; + for (const auto &v : data) + { + { + tar::FileWriter writer(tmp.path, tar::FileWriter::GenerateFingerprint); + storage::serialization::write(writer, "my_int_vector", v); + } + std::vector result; + tar::FileReader reader(tmp.path, tar::FileReader::VerifyFingerprint); + storage::serialization::read(reader, "my_int_vector", result); + BOOST_CHECK_EQUAL_COLLECTIONS(v.begin(), v.end(), result.begin(), result.end()); + } + } +} + +BOOST_AUTO_TEST_CASE(tar_serialize_unsigned_vector) +{ + TemporaryFile tmp; + { + std::vector> data = { + {}, {0}, {1, 2, 3}, {4, 5, 6, 7, 8, 9, 10, 11}, {12, 13, 14, 15, 16, 17, 18, 19, 20}}; + for (const auto &v : data) + { + { + tar::FileWriter writer(tmp.path, tar::FileWriter::GenerateFingerprint); + storage::serialization::write(writer, "my_unsigned_vector", v); + } + std::vector result; + tar::FileReader reader(tmp.path, tar::FileReader::VerifyFingerprint); + storage::serialization::read(reader, "my_unsigned_vector", result); + BOOST_CHECK_EQUAL_COLLECTIONS(v.begin(), v.end(), result.begin(), result.end()); + } + } +} + BOOST_AUTO_TEST_SUITE_END()