added missing tests

This commit is contained in:
Niels Lohmann 2017-02-26 11:50:52 +01:00
parent f1cd15ce7e
commit d1b30250d6
No known key found for this signature in database
GPG key ID: 7F3CEA63AE251B69
3 changed files with 17 additions and 1 deletions

View file

@ -699,6 +699,15 @@ TEST_CASE("constructors")
json j(n);
CHECK(j.type() == json::value_t::number_float);
}
SECTION("infinity")
{
// infinity is stored as null
// should change in the future: https://github.com/nlohmann/json/issues/388
json::number_float_t n(std::numeric_limits<json::number_float_t>::infinity());
json j(n);
CHECK(j.type() == json::value_t::null);
}
}
SECTION("create a floating-point number (implicit)")

View file

@ -182,6 +182,10 @@ TEST_CASE("value conversion")
std::vector<float> v;
CHECK_THROWS_AS(nlohmann::from_json(j, v), std::logic_error);
CHECK(v.capacity() == j.size());
// make sure all values are properly copied
std::vector<int> v2 = json({1, 2, 3, 4, 5, 6, 7, 8, 9, 10});
CHECK(v2.size() == 10);
}
#endif
}

View file

@ -63,7 +63,7 @@ TEST_CASE("regression tests")
SECTION("pull request #71 - handle enum type")
{
enum { t = 0, u = 1};
enum { t = 0, u = 102};
json j = json::array();
j.push_back(t);
@ -73,6 +73,9 @@ TEST_CASE("regression tests")
auto anon_enum_value = j2.get<decltype(u)>();
CHECK(u == anon_enum_value);
// check if the actual value was stored
CHECK(j2 == 102);
static_assert(std::is_same<decltype(anon_enum_value), decltype(u)>::value, "");
j.push_back(json::object(