Files
DRAMSys/tests/tests_util/test_json.cpp
2023-09-21 16:50:59 +02:00

36 lines
633 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());
};