📝 improved documentation
This commit is contained in:
parent
5b71bf09a1
commit
91e0032853
39 changed files with 532 additions and 101 deletions
|
@ -94,6 +94,7 @@ TEST_CASE("concepts")
|
|||
|
||||
SECTION("MoveConstructible")
|
||||
{
|
||||
CHECK(std::is_move_constructible<json>::value);
|
||||
CHECK(std::is_nothrow_move_constructible<json>::value);
|
||||
}
|
||||
|
||||
|
|
|
@ -1181,12 +1181,33 @@ TEST_CASE("constructors")
|
|||
|
||||
SECTION("create an array of n copies of a given value")
|
||||
{
|
||||
json v = {1, "foo", 34.23, {1, 2, 3}, {{"A", 1}, {"B", 2u}}};
|
||||
json arr(3, v);
|
||||
CHECK(arr.size() == 3);
|
||||
for (auto& x : arr)
|
||||
SECTION("cnt = 0")
|
||||
{
|
||||
CHECK(x == v);
|
||||
json v = {1, "foo", 34.23, {1, 2, 3}, {{"A", 1}, {"B", 2u}}};
|
||||
json arr(0, v);
|
||||
CHECK(arr.size() == 0);
|
||||
}
|
||||
|
||||
SECTION("cnt = 1")
|
||||
{
|
||||
json v = {1, "foo", 34.23, {1, 2, 3}, {{"A", 1}, {"B", 2u}}};
|
||||
json arr(1, v);
|
||||
CHECK(arr.size() == 1);
|
||||
for (auto& x : arr)
|
||||
{
|
||||
CHECK(x == v);
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("cnt = 3")
|
||||
{
|
||||
json v = {1, "foo", 34.23, {1, 2, 3}, {{"A", 1}, {"B", 2u}}};
|
||||
json arr(3, v);
|
||||
CHECK(arr.size() == 3);
|
||||
for (auto& x : arr)
|
||||
{
|
||||
CHECK(x == v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,17 +38,21 @@ TEST_CASE("modifiers")
|
|||
SECTION("boolean")
|
||||
{
|
||||
json j = true;
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j == json(json::value_t::boolean));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("string")
|
||||
{
|
||||
json j = "hello world";
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j == json(json::value_t::string));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("array")
|
||||
|
@ -56,19 +60,23 @@ TEST_CASE("modifiers")
|
|||
SECTION("empty array")
|
||||
{
|
||||
json j = json::array();
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j.empty());
|
||||
CHECK(j == json(json::value_t::array));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("filled array")
|
||||
{
|
||||
json j = {1, 2, 3};
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j.empty());
|
||||
CHECK(j == json(json::value_t::array));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -77,52 +85,64 @@ TEST_CASE("modifiers")
|
|||
SECTION("empty object")
|
||||
{
|
||||
json j = json::object();
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j.empty());
|
||||
CHECK(j == json(json::value_t::object));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("filled object")
|
||||
{
|
||||
json j = {{"one", 1}, {"two", 2}, {"three", 3}};
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j.empty());
|
||||
CHECK(j == json(json::value_t::object));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("number (integer)")
|
||||
{
|
||||
json j = 23;
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j == json(json::value_t::number_integer));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("number (unsigned)")
|
||||
{
|
||||
json j = 23u;
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j == json(json::value_t::number_integer));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("number (float)")
|
||||
{
|
||||
json j = 23.42;
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j == json(json::value_t::number_float));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
|
||||
SECTION("null")
|
||||
{
|
||||
json j = nullptr;
|
||||
json k = j;
|
||||
|
||||
j.clear();
|
||||
CHECK(j == json(json::value_t::null));
|
||||
CHECK(j == json(k.type()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1209,9 +1209,9 @@ TEST_CASE("regression tests")
|
|||
{
|
||||
SECTION("original example")
|
||||
{
|
||||
std::valarray<double> v;
|
||||
nlohmann::json j;
|
||||
j["test"] = v;
|
||||
std::valarray<double> v;
|
||||
nlohmann::json j;
|
||||
j["test"] = v;
|
||||
}
|
||||
|
||||
SECTION("full example")
|
||||
|
@ -1230,7 +1230,7 @@ TEST_CASE("regression tests")
|
|||
|
||||
CHECK_THROWS_AS(json().get<std::valarray<double>>(), json::type_error&);
|
||||
CHECK_THROWS_WITH(json().get<std::valarray<double>>(),
|
||||
"[json.exception.type_error.302] type must be array, but is null");
|
||||
"[json.exception.type_error.302] type must be array, but is null");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue