aboutsummaryrefslogtreecommitdiff
path: root/tests/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/main.cpp')
-rw-r--r--tests/main.cpp53
1 files changed, 31 insertions, 22 deletions
diff --git a/tests/main.cpp b/tests/main.cpp
index e879e6a..7cb9c1d 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -13,29 +13,10 @@ struct TestStruct
uint8_t b;
};
-int main()
-{
-#if BYTE_ORDER == BIG_ENDIAN
- const char *endianessStr = "big";
-#elif BYTE_ORDER == LITTLE_ENDIAN
- const char *endianessStr = "little";
-#else
- const char *endianessStr = "Unknown";
-#endif
- printf("System endianess: %s\n", endianessStr);
-
- TestStruct expectedTestStruct;
- expectedTestStruct.a = 0x38956326;
- expectedTestStruct.b = 0x34;
-
- sibs::SafeSerializer serializer;
- serializer.add((uint32_t)3563634);
- serializer.add((uint64_t)204232532533423632);
- serializer.add((uint8_t)2);
- serializer.add((uint8_t*)"hello", 5);
- serializer.add(expectedTestStruct);
- REQUIRE(serializer.getBuffer().size() == 18 + sizeof(expectedTestStruct));
+static TestStruct expectedTestStruct;
+void testDeserialize(sibs::SafeSerializer &serializer)
+{
sibs::SafeDeserializer deserializer(serializer.getBuffer().data(), serializer.getBuffer().size());
REQUIRE(deserializer.extract<uint32_t>() == 3563634);
REQUIRE(deserializer.extract<uint64_t>() == 204232532533423632);
@@ -57,6 +38,34 @@ int main()
{
}
+}
+
+int main()
+{
+#if BYTE_ORDER == BIG_ENDIAN
+ const char *endianessStr = "big";
+#elif BYTE_ORDER == LITTLE_ENDIAN
+ const char *endianessStr = "little";
+#else
+ const char *endianessStr = "Unknown";
+#endif
+ printf("System endianess: %s\n", endianessStr);
+
+ expectedTestStruct.a = 0x38956326;
+ expectedTestStruct.b = 0x34;
+
+ sibs::SafeSerializer serializer;
+ serializer.add((uint32_t)3563634);
+ serializer.add((uint64_t)204232532533423632);
+ serializer.add((uint8_t)2);
+ serializer.add((uint8_t*)"hello", 5);
+ serializer.add(expectedTestStruct);
+ REQUIRE(serializer.getBuffer().size() == 18 + sizeof(expectedTestStruct));
+
+ testDeserialize(serializer);
+ sibs::SafeSerializer movedSerializer(std::move(serializer));
+ REQUIRE(serializer.getBuffer().empty());
+ testDeserialize(movedSerializer);
return 0;
}