Files
DRAMSys/tests/tests_util/test_json.cpp
2023-05-25 16:09:55 +02:00

39 lines
659 B
C++

#include <gtest/gtest.h>
#include <DRAMSys/util/json.h>
class JsonTest : public ::testing::Test {
protected:
virtual void SetUp()
{
}
virtual void TearDown()
{
}
};
TEST_F(JsonTest, Test)
{
auto in = json_t::parse(R"(
{
"test": 5,
"null": null
}
)");
std::optional<int> opt_in;
std::optional<int> opt_null;
std::optional<int> opt_nil;
in["test"].get_to(opt_in);
in["null"].get_to(opt_null);
in["nil"].get_to(opt_nil);
ASSERT_TRUE(opt_in.has_value());
ASSERT_EQ(*opt_in, 5);
ASSERT_FALSE(opt_null.has_value());
ASSERT_FALSE(opt_nil.has_value());
};