MCPcopy Create free account
hub / github.com/Project-OSRM/osrm-backend / validate_turn_layer

Function validate_turn_layer

unit_tests/library/tile.cpp:97–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

95}
96
97void validate_turn_layer(vtzero::layer layer)
98{
99 BOOST_CHECK_EQUAL(layer.version(), 2);
100 BOOST_CHECK_EQUAL(to_string(layer.name()), "turns");
101 BOOST_CHECK_EQUAL(layer.extent(), osrm::util::vector_tile::EXTENT);
102 BOOST_CHECK_EQUAL(layer.key_table().size(), 6);
103 BOOST_CHECK(layer.num_features() > 700);
104
105 while (auto feature = layer.next_feature())
106 {
107 BOOST_CHECK(feature.has_id());
108 BOOST_CHECK(feature.geometry_type() == vtzero::GeomType::POINT);
109 BOOST_CHECK(!feature.empty());
110
111 auto props = vtzero::create_properties_map<std::map<std::string, variant_type>>(feature);
112
113 BOOST_CHECK(props.contains("bearing_in"));
114 BOOST_CHECK(std::holds_alternative<std::int64_t>(props["bearing_in"]));
115
116 BOOST_CHECK(props.contains("turn_angle"));
117 BOOST_CHECK(std::holds_alternative<std::int64_t>(props["turn_angle"]));
118
119 BOOST_CHECK(props.contains("weight"));
120 BOOST_CHECK(std::holds_alternative<float>(props["weight"]));
121
122 BOOST_CHECK(props.contains("cost"));
123 BOOST_CHECK(std::holds_alternative<float>(props["cost"]));
124
125 BOOST_CHECK(props.contains("type"));
126 BOOST_CHECK(std::holds_alternative<std::string>(props["type"]));
127
128 BOOST_CHECK(props.contains("modifier"));
129 BOOST_CHECK(std::holds_alternative<std::string>(props["modifier"]));
130 }
131
132 auto number_of_float_values =
133 std::count_if(layer.value_table().begin(),
134 layer.value_table().end(),
135 [](auto v) { return v.type() == vtzero::property_value_type::float_value; });
136
137 BOOST_CHECK_EQUAL(number_of_float_values, 73);
138}
139
140void validate_node_layer(vtzero::layer layer)
141{

Callers 1

validate_tileFunction · 0.85

Calls 8

to_stringFunction · 0.85
containsMethod · 0.80
typeMethod · 0.80
nameMethod · 0.45
sizeMethod · 0.45
emptyMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected