add tests for binary type

This commit is contained in:
Niels Lohmann
2020-05-04 22:07:50 +02:00
parent 48aa441661
commit 2a34f4cd63
4 changed files with 135 additions and 42 deletions

View File

@@ -106,6 +106,31 @@ TEST_CASE("modifiers")
}
}
SECTION("binary")
{
SECTION("empty binary")
{
json j = json::binary_array({});
json k = j;
j.clear();
CHECK(not j.empty());
CHECK(j == json(json::value_t::binary));
CHECK(j == json(k.type()));
}
SECTION("filled binary")
{
json j = json::binary_array({1, 2, 3, 4, 5});
json k = j;
j.clear();
CHECK(not j.empty());
CHECK(j == json(json::value_t::binary));
CHECK(j == json(k.type()));
}
}
SECTION("number (integer)")
{
json j = 23;
@@ -937,5 +962,31 @@ TEST_CASE("modifiers")
CHECK_THROWS_WITH(j.swap(s), "[json.exception.type_error.310] cannot use swap() with number");
}
}
SECTION("binary_t")
{
SECTION("binary_t type")
{
json j = json::binary_array({1, 2, 3, 4});
json::binary_t s = {1, 2, 3, 4};
j.swap(s);
CHECK(j == json::binary_array({1, 2, 3, 4}));
j.swap(s);
CHECK(j == json::binary_array({1, 2, 3, 4}));
}
SECTION("non-string_t type")
{
json j = 17;
json::binary_t s = {1, 2, 3, 4};
CHECK_THROWS_AS(j.swap(s), json::type_error&);
CHECK_THROWS_WITH(j.swap(s), "[json.exception.type_error.310] cannot use swap() with number");
}
}
}
}