| 62 | } |
| 63 | |
| 64 | void testSerializeThenDeserialize(const CompressionMetadata& orig) { |
| 65 | // test serializing/deserializing twice |
| 66 | |
| 67 | const auto writer = std::make_shared<BufferWriter>(); |
| 68 | Serializer ser{writer}; |
| 69 | orig.serialize(ser); |
| 70 | orig.serialize(ser); |
| 71 | |
| 72 | Deserializer deser{std::make_unique<BufferReader>(writer->getBlobData(), writer->getSize())}; |
| 73 | const auto deserialized1 = CompressionMetadata::deserialize(deser); |
| 74 | EXPECT_TRUE(orig == deserialized1); |
| 75 | |
| 76 | const auto deserialized2 = CompressionMetadata::deserialize(deser); |
| 77 | EXPECT_TRUE(orig == deserialized2); |
| 78 | } |
| 79 | |
| 80 | TEST(CompressionTests, DoubleMetadataSerializeThenDeserialize) { |
| 81 | alp::state alpState{}; |