improve coverage

This commit is contained in:
Niels Lohmann 2021-09-05 12:44:39 +02:00
parent 62487fcf68
commit 623f0e96e2
No known key found for this signature in database
GPG Key ID: 7F3CEA63AE251B69
3 changed files with 56 additions and 23 deletions

View File

@ -1851,11 +1851,13 @@ class binary_writer
case input_format_t::bon8: case input_format_t::bon8:
oa->write_character(get_bon8_float_prefix(static_cast<float>(n))); oa->write_character(get_bon8_float_prefix(static_cast<float>(n)));
break; break;
// LCOV_EXCL_START
case input_format_t::bson: case input_format_t::bson:
case input_format_t::json: case input_format_t::json:
case input_format_t::ubjson: case input_format_t::ubjson:
default: default:
break; break;
// LCOV_EXCL_STOP
} }
write_number(static_cast<float>(n)); write_number(static_cast<float>(n));
} }
@ -1872,11 +1874,13 @@ class binary_writer
case input_format_t::bon8: case input_format_t::bon8:
oa->write_character(get_bon8_float_prefix(n)); oa->write_character(get_bon8_float_prefix(n));
break; break;
// LCOV_EXCL_START
case input_format_t::bson: case input_format_t::bson:
case input_format_t::json: case input_format_t::json:
case input_format_t::ubjson: case input_format_t::ubjson:
default: default:
break; break;
// LCOV_EXCL_STOP
} }
write_number(n); write_number(n);
} }

View File

@ -15425,11 +15425,13 @@ class binary_writer
case input_format_t::bon8: case input_format_t::bon8:
oa->write_character(get_bon8_float_prefix(static_cast<float>(n))); oa->write_character(get_bon8_float_prefix(static_cast<float>(n)));
break; break;
// LCOV_EXCL_START
case input_format_t::bson: case input_format_t::bson:
case input_format_t::json: case input_format_t::json:
case input_format_t::ubjson: case input_format_t::ubjson:
default: default:
break; break;
// LCOV_EXCL_STOP
} }
write_number(static_cast<float>(n)); write_number(static_cast<float>(n));
} }
@ -15446,11 +15448,13 @@ class binary_writer
case input_format_t::bon8: case input_format_t::bon8:
oa->write_character(get_bon8_float_prefix(n)); oa->write_character(get_bon8_float_prefix(n));
break; break;
// LCOV_EXCL_START
case input_format_t::bson: case input_format_t::bson:
case input_format_t::json: case input_format_t::json:
case input_format_t::ubjson: case input_format_t::ubjson:
default: default:
break; break;
// LCOV_EXCL_STOP
} }
write_number(n); write_number(n);
} }

View File

@ -434,6 +434,8 @@ TEST_CASE("BON8")
} }
SECTION("floating-point numbers") SECTION("floating-point numbers")
{
SECTION("special values")
{ {
SECTION("-1.0") SECTION("-1.0")
{ {
@ -468,6 +470,29 @@ TEST_CASE("BON8")
} }
} }
SECTION("floats")
{
SECTION("2.0")
{
json j = 2.0;
std::vector<uint8_t> expected = {0x8E, 0x40, 0x00, 0x00, 0x00};
const auto result = json::to_bon8(j);
CHECK(result == expected);
}
}
SECTION("doubles")
{
SECTION("100000000.1")
{
json j = 100000000.1;
std::vector<uint8_t> expected = {0x8F, 0x41, 0x97, 0xD7, 0x84, 0x00, 0x66, 0x66, 0x66};
const auto result = json::to_bon8(j);
CHECK(result == expected);
}
}
}
SECTION("string") SECTION("string")
{ {
SECTION("empty string") SECTION("empty string")