/srv/osrm/osrm-backend/unit_tests/util
NameSizeModeActions
bearing.cpp31040644editdlrm
bit_range.cpp27720644editdlrm
conditional_restrictions_parsing.cpp14970644editdlrm
connectivity_checksum.cpp24980644editdlrm
coordinate_calculation.cpp188150644editdlrm
duration_parsing.cpp30520644editdlrm
dynamic_graph.cpp52770644editdlrm
filtered_integer_range.cpp13380644editdlrm
group_by.cpp14760644editdlrm
hilbert_values.cpp38960644editdlrm
indexed_data.cpp55890644editdlrm
io.cpp68500644editdlrm
json_render.cpp21490644editdlrm
opening_hours_parsing.cpp187640644editdlrm
packed_vector.cpp96060644editdlrm
permutation.cpp7920644editdlrm
query_heap.cpp40430644editdlrm
range_table.cpp31460644editdlrm
rectangle.cpp69230644editdlrm
serialization.cpp43030644editdlrm
static_graph.cpp66550644editdlrm
static_rtree.cpp194780644editdlrm
string_util.cpp11570644editdlrm
vector_view.cpp19290644editdlrm
viewport.cpp5710644editdlrm
web_mercator.cpp29750644editdlrm
Edit: /srv/osrm/osrm-backend/unit_tests/util/json_render.cpp (2149B)
#include "util/json_container.hpp" #include "util/json_renderer.hpp" #include #include BOOST_AUTO_TEST_SUITE(json_renderer) using namespace osrm::util::json; BOOST_AUTO_TEST_CASE(number_truncating) { std::string str; Renderer renderer(str); // this number would have more than 10 decimals if not truncated renderer(Number{42.9995999594999399299}); BOOST_CHECK_EQUAL(str, "42.99959996"); } BOOST_AUTO_TEST_CASE(integer) { std::string str; Renderer renderer(str); renderer(Number{42.0}); BOOST_CHECK_EQUAL(str, "42"); } BOOST_AUTO_TEST_CASE(test_json_issue_6531) { std::string output; osrm::util::json::Renderer renderer(output); renderer(0.0000000000017114087924596788); BOOST_CHECK_EQUAL(output, "1.711408792e-12"); output.clear(); renderer(42.0); BOOST_CHECK_EQUAL(output, "42"); output.clear(); renderer(42.1); BOOST_CHECK_EQUAL(output, "42.1"); output.clear(); renderer(42.12); BOOST_CHECK_EQUAL(output, "42.12"); output.clear(); renderer(42.123); BOOST_CHECK_EQUAL(output, "42.123"); output.clear(); renderer(42.1234); BOOST_CHECK_EQUAL(output, "42.1234"); output.clear(); renderer(42.12345); BOOST_CHECK_EQUAL(output, "42.12345"); output.clear(); renderer(42.123456); BOOST_CHECK_EQUAL(output, "42.123456"); output.clear(); renderer(42.1234567); BOOST_CHECK_EQUAL(output, "42.1234567"); output.clear(); renderer(42.12345678); BOOST_CHECK_EQUAL(output, "42.12345678"); output.clear(); renderer(42.123456789); BOOST_CHECK_EQUAL(output, "42.12345679"); output.clear(); renderer(0.12345678912345); BOOST_CHECK_EQUAL(output, "0.1234567891"); output.clear(); renderer(0.123456789); BOOST_CHECK_EQUAL(output, "0.123456789"); output.clear(); renderer(0.12345678916); BOOST_CHECK_EQUAL(output, "0.1234567892"); output.clear(); renderer(123456789123456789); BOOST_CHECK_EQUAL(output, "1.234567891e+17"); } BOOST_AUTO_TEST_SUITE_END()