Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
test_serialization.cpp
Go to the documentation of this file.
2#include <gtest/gtest.h>
3
4class ChunkSerializerTest : public ::testing::Test {
5protected:
6 void SetUp() override {
7 chunks = {{1.0, 2.0, 3.0}, {4.0, 5.0}, {6.0, 7.0, 8.0}};
8 }
9
10 std::vector<std::vector<double>> chunks;
12};
13
14TEST_F(ChunkSerializerTest, JsonSerialization) {
15 std::string json = serializer.to_json(chunks);
16 EXPECT_FALSE(json.empty());
17 EXPECT_NE(json.find("["), std::string::npos);
18 EXPECT_NE(json.find("]"), std::string::npos);
19 EXPECT_NE(json.find("1.0"), std::string::npos);
20}
21
22TEST_F(ChunkSerializerTest, ProtobufSerialization) {
23 try {
24 std::string proto = serializer.to_protobuf(chunks);
25 EXPECT_FALSE(proto.empty());
26 } catch (const std::runtime_error& e) {
27 GTEST_SKIP() << "Protobuf serialization not available";
28 }
29}
30
31TEST_F(ChunkSerializerTest, MessagePackSerialization) {
32 try {
33 std::string msgpack = serializer.to_msgpack(chunks);
34 EXPECT_FALSE(msgpack.empty());
35 } catch (const std::runtime_error& e) {
36 GTEST_SKIP() << "MessagePack serialization not available";
37 }
38}
39
41 std::vector<std::vector<double>> empty_chunks;
42 EXPECT_NO_THROW(serializer.to_json(empty_chunks));
43}
Serialization utilities for chunk data.
chunk_serialization::ChunkSerializer< double > serializer
std::vector< std::vector< double > > chunks
Class for serializing chunks to various formats.
std::string to_json(const std::vector< std::vector< T > > &chunks)
Serialize chunks to JSON format.
TEST_F(ChunkSerializerTest, JsonSerialization)