Commit 4cd341d4 by Niels

more unit tests

parent 29a8d43d
...@@ -1315,24 +1315,28 @@ class basic_json ...@@ -1315,24 +1315,28 @@ class basic_json
{ {
return "null"; return "null";
} }
case (value_t::object): case (value_t::object):
{ {
return "object"; return "object";
} }
case (value_t::array): case (value_t::array):
{ {
return "array"; return "array";
} }
case (value_t::string): case (value_t::string):
{ {
return "string"; return "string";
} }
case (value_t::boolean): case (value_t::boolean):
{ {
return "boolean"; return "boolean";
} }
case (value_t::number_integer):
case (value_t::number_float): default:
{ {
return "number"; return "number";
} }
......
...@@ -3821,3 +3821,50 @@ TEST_CASE("lexicographical comparison operators") ...@@ -3821,3 +3821,50 @@ TEST_CASE("lexicographical comparison operators")
} }
} }
} }
TEST_CASE("serialization")
{
SECTION("operator<<")
{
std::stringstream ss;
json j = {"foo", 1, 2, 3, false, {{"one", 1}}};
ss << j;
CHECK(ss.str() == "[\"foo\",1,2,3,false,{\"one\":1}]");
}
SECTION("operator>>")
{
std::stringstream ss;
json j = {"foo", 1, 2, 3, false, {{"one", 1}}};
j >> ss;
CHECK(ss.str() == "[\"foo\",1,2,3,false,{\"one\":1}]");
}
}
TEST_CASE("deserialization")
{
SECTION("string")
{
auto s = "[\"foo\",1,2,3,false,{\"one\":1}]";
json j = json::parse(s);
CHECK(j == json({"foo", 1, 2, 3, false, {{"one", 1}}}));
}
SECTION("operator<<")
{
std::stringstream ss;
ss << "[\"foo\",1,2,3,false,{\"one\":1}]";
json j;
j << ss;
CHECK(j == json({"foo", 1, 2, 3, false, {{"one", 1}}}));
}
SECTION("operator>>")
{
std::stringstream ss;
ss << "[\"foo\",1,2,3,false,{\"one\":1}]";
json j;
ss >> j;
CHECK(j == json({"foo", 1, 2, 3, false, {{"one", 1}}}));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment