diff options
Diffstat (limited to 'tests/main.cpp')
-rw-r--r-- | tests/main.cpp | 53 |
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; } |