+ more test cases
This commit is contained in:
parent
1c10efb7be
commit
215391983a
1 changed files with 20 additions and 0 deletions
|
@ -153,7 +153,10 @@ TEST_CASE("array")
|
||||||
{
|
{
|
||||||
JSON nonarray2 = JSON(1);
|
JSON nonarray2 = JSON(1);
|
||||||
JSON nonarray3 = JSON(2);
|
JSON nonarray3 = JSON(2);
|
||||||
|
JSON empty3 = JSON();
|
||||||
CHECK_THROWS_AS(nonarray2.push_back(nonarray3), std::runtime_error);
|
CHECK_THROWS_AS(nonarray2.push_back(nonarray3), std::runtime_error);
|
||||||
|
CHECK_NOTHROW(empty3.push_back(nonarray3));
|
||||||
|
CHECK(empty3.type() == JSON::value_type::array);
|
||||||
}
|
}
|
||||||
|
|
||||||
const JSON k = j;
|
const JSON k = j;
|
||||||
|
@ -373,6 +376,18 @@ TEST_CASE("object")
|
||||||
bool v4 = j[std::string("k4")];
|
bool v4 = j[std::string("k4")];
|
||||||
CHECK(v4 == true);
|
CHECK(v4 == true);
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
const std::string v0 = k[std::string("k0")];
|
||||||
|
CHECK(v0 == "v0");
|
||||||
|
auto v1 = k[std::string("k1")];
|
||||||
|
CHECK(v1 == nullptr);
|
||||||
|
int v2 = k[std::string("k2")];
|
||||||
|
CHECK(v2 == 42);
|
||||||
|
double v3 = k[std::string("k3")];
|
||||||
|
CHECK(v3 == 3.141);
|
||||||
|
bool v4 = k[std::string("k4")];
|
||||||
|
CHECK(v4 == true);
|
||||||
|
}
|
||||||
|
|
||||||
// write (replace)
|
// write (replace)
|
||||||
j["k0"] = "new v0";
|
j["k0"] = "new v0";
|
||||||
|
@ -387,8 +402,13 @@ TEST_CASE("object")
|
||||||
// find
|
// find
|
||||||
CHECK(j.find("k0") != j.end());
|
CHECK(j.find("k0") != j.end());
|
||||||
CHECK(j.find("v0") == j.end());
|
CHECK(j.find("v0") == j.end());
|
||||||
|
CHECK(j.find(std::string("v0")) == j.end());
|
||||||
JSON::const_iterator i1 = j.find("k0");
|
JSON::const_iterator i1 = j.find("k0");
|
||||||
JSON::iterator i2 = j.find("k0");
|
JSON::iterator i2 = j.find("k0");
|
||||||
|
CHECK(k.find("k0") != k.end());
|
||||||
|
CHECK(k.find("v0") == k.end());
|
||||||
|
CHECK(k.find(std::string("v0")) == k.end());
|
||||||
|
JSON::const_iterator i22 = k.find("k0");
|
||||||
|
|
||||||
// at
|
// at
|
||||||
CHECK_THROWS_AS(j.at("foo"), std::out_of_range);
|
CHECK_THROWS_AS(j.at("foo"), std::out_of_range);
|
||||||
|
|
Loading…
Reference in a new issue