/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/group_by.cpp (1476B)
#include "util/group_by.hpp" #include #include #include BOOST_AUTO_TEST_SUITE(group_by_test) using namespace osrm; using namespace osrm::util; namespace { struct Yes { template bool operator()(T &&) { return true; } }; struct No { template bool operator()(T &&) { return false; } }; struct Alternating { template bool operator()(T &&) { return state = !state; } bool state = true; }; struct SubRangeCounter { template void operator()(Range &&) { count += 1; } std::size_t count = 0; }; } // namespace BOOST_AUTO_TEST_CASE(grouped_empty_test) { std::vector v{}; auto ranges = group_by(begin(v), end(v), Yes{}, SubRangeCounter{}); BOOST_CHECK_EQUAL(ranges.count, 0); } BOOST_AUTO_TEST_CASE(grouped_all_match_range_test) { std::vector v{1, 2, 3}; auto ranges = group_by(begin(v), end(v), Yes{}, SubRangeCounter{}); BOOST_CHECK_EQUAL(ranges.count, 1); } BOOST_AUTO_TEST_CASE(grouped_no_match_range_test) { std::vector v{1, 2, 3}; auto ranges = group_by(begin(v), end(v), No{}, SubRangeCounter{}); BOOST_CHECK_EQUAL(ranges.count, 1); } BOOST_AUTO_TEST_CASE(grouped_alternating_matches_range_test) { std::vector v{1, 2, 3}; auto ranges = group_by(begin(v), end(v), Alternating{}, SubRangeCounter{}); BOOST_CHECK_EQUAL(ranges.count, v.size()); } BOOST_AUTO_TEST_SUITE_END()