mirror of
https://github.com/thunderbrewhq/common.git
synced 2025-12-12 03:02:29 +00:00
96 lines
2.1 KiB
C++
96 lines
2.1 KiB
C++
#include "common/DataStore.hpp"
|
|
#include "test/Test.hpp"
|
|
#include <storm/String.hpp>
|
|
|
|
TEST_CASE("CDataStore::CDataStore", "[datastore]") {
|
|
SECTION("constructs new data store") {
|
|
CDataStore msg;
|
|
SUCCEED();
|
|
}
|
|
}
|
|
|
|
TEST_CASE("CDataStore::Get", "[datastore]") {
|
|
SECTION("gets uint8_t") {
|
|
uint8_t writeVal = 8;
|
|
uint8_t readVal = -1;
|
|
|
|
CDataStore msg;
|
|
msg.Put(writeVal);
|
|
msg.Finalize();
|
|
msg.Get(readVal);
|
|
|
|
REQUIRE(readVal == writeVal);
|
|
}
|
|
|
|
SECTION("gets uint16_t") {
|
|
uint16_t writeVal = 0x1234;
|
|
uint16_t readVal = -1;
|
|
|
|
CDataStore msg;
|
|
msg.Put(writeVal);
|
|
msg.Finalize();
|
|
msg.Get(readVal);
|
|
|
|
REQUIRE(readVal == writeVal);
|
|
}
|
|
|
|
SECTION("gets uint32_t") {
|
|
uint32_t writeVal = 0x12345678;
|
|
uint32_t readVal = 0x12345678;
|
|
|
|
CDataStore msg;
|
|
msg.Put(writeVal);
|
|
msg.Finalize();
|
|
msg.Get(readVal);
|
|
|
|
REQUIRE(readVal == writeVal);
|
|
}
|
|
|
|
SECTION("gets uint64_t") {
|
|
uint64_t writeVal = 0x1122334455667788;
|
|
uint64_t readVal = 0x1122334455667788;
|
|
|
|
CDataStore msg;
|
|
msg.Put(writeVal);
|
|
msg.Finalize();
|
|
msg.Get(readVal);
|
|
|
|
REQUIRE(readVal == writeVal);
|
|
}
|
|
|
|
SECTION("gets float") {
|
|
float writeVal = 1.5f;
|
|
float readVal = -1.0f;
|
|
|
|
CDataStore msg;
|
|
msg.Put(writeVal);
|
|
msg.Finalize();
|
|
msg.Get(readVal);
|
|
|
|
REQUIRE(readVal == writeVal);
|
|
}
|
|
|
|
SECTION("gets string") {
|
|
const char* writeVal = "foobar";
|
|
char readVal[7] = "barfoo";
|
|
|
|
CDataStore msg;
|
|
msg.PutString(writeVal);
|
|
msg.Finalize();
|
|
msg.GetString(readVal, sizeof(readVal));
|
|
|
|
REQUIRE(SStrCmp(readVal, writeVal, STORM_MAX_STR) == 0);
|
|
}
|
|
|
|
SECTION("gets string honoring maxchars") {
|
|
const char* writeVal = "foobar";
|
|
char readVal[7] = "bar";
|
|
|
|
CDataStore msg;
|
|
msg.PutString(writeVal);
|
|
msg.Finalize();
|
|
msg.GetString(readVal, 3);
|
|
|
|
REQUIRE(SStrCmp(readVal, "foo", STORM_MAX_STR) == 0);
|
|
}
|
|
}
|