Пример #1
0
	msg1.types.push_back(MessageType::CONTROL_MESSAGE);
	msg1.strings.push_back("Test1");
	msg1.strings.push_back("Test2");
	msg1.integers.push_back(13);
	msg1.integers.push_back(42);

	auto t = snake::DateTime::now();
	msg1.stamps.push_back(t);
	msg1.stamps.push_back(t - snake::Days(1));

	msg1.version_map["V1"] = version;
	msg1.version_map["V2"] = v2;
	msg1.time_map[1] = msg1.stamps[0];
	msg1.time_map[10] = msg1.stamps[1];

	REQUIRE(msg1.serialize(s));
	REQUIRE(msg2.deserialize(s));

	REQUIRE(msg1.group.size() == msg2.group.size());
	REQUIRE(msg1.group[0].major_version == msg2.group[0].major_version);
	REQUIRE(msg1.group[0].minor_version == msg2.group[0].minor_version);
	REQUIRE(msg1.msg.minor_version == msg2.msg.minor_version);
	REQUIRE(msg1.types.size() == msg2.types.size());
	REQUIRE(msg1.types[0] == msg2.types[0]);
	REQUIRE(msg1.types[1] == msg2.types[1]);
	REQUIRE(msg1.strings.size() == msg2.strings.size());
	REQUIRE(msg1.strings[0] == msg2.strings[0]);
	REQUIRE(msg1.strings[1] == msg2.strings[1]);
	REQUIRE(msg1.integers.size() == msg2.integers.size());
	REQUIRE(msg1.integers[0] == msg2.integers[0]);
	REQUIRE(msg1.integers[1] == msg2.integers[1]);