improved test coverage

parent e191dd83
......@@ -31,6 +31,14 @@ SOFTWARE.
#include "json.hpp"
using nlohmann::json;
// helper function to check std::less<json::value_t>
// see http://en.cppreference.com/w/cpp/utility/functional/less
template <typename A, typename B, typename U = std::less<json::value_t>>
bool f(A a, B b, U u = U())
{
return u(a, b);
}
TEST_CASE("lexicographical comparison operators")
{
SECTION("types")
......@@ -69,6 +77,7 @@ TEST_CASE("lexicographical comparison operators")
CAPTURE(j);
// check precomputed values
CHECK(operator<(j_types[i], j_types[j]) == expected[i][j]);
CHECK(f(j_types[i], j_types[j]) == expected[i][j]);
}
}
}
......
......@@ -359,6 +359,13 @@ TEST_CASE("deserialization")
CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), json::parse_error);
CHECK(not json::accept(std::begin(v), std::end(v)));
}
SECTION("case 16")
{
uint8_t v[] = {'{', '1', ',', ','};
CHECK_THROWS_AS(json::parse(std::begin(v), std::end(v)), json::parse_error);
CHECK(not json::accept(std::begin(v), std::end(v)));
}
}
}
}
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