Branch data Line data Source code
1 : : // ----------------- BEGIN LICENSE BLOCK ---------------------------------
2 : : //
3 : : // Copyright (C) 2018-2021 Intel Corporation
4 : : //
5 : : // SPDX-License-Identifier: LGPL-2.1-only
6 : : //
7 : : // ----------------- END LICENSE BLOCK -----------------------------------
8 : :
9 : : #include "TestSupport.hpp"
10 : : #include "ad/rss/core/RssSituationExtraction.hpp"
11 : :
12 : : namespace ad {
13 : : namespace rss {
14 : : namespace core {
15 : :
16 : : class RssSituationExtractionIntersectionTests : public testing::Test
17 : : {
18 : : protected:
19 : 4 : virtual void SetUp()
20 : : {
21 : 4 : worldModel.default_ego_vehicle_rss_dynamics = getEgoRssDynamics();
22 : 4 : leadingObject = createObject(36., 0.);
23 : 4 : leadingObject.object_id = 0;
24 : 4 : constellation.constellation_type = world::ConstellationType::IntersectionEgoHasPriority;
25 : 4 : constellation.object_rss_dynamics = getObjectRssDynamics();
26 : 4 : constellation.ego_vehicle_rss_dynamics = getEgoRssDynamics();
27 : :
28 : : {
29 : 4 : world::OccupiedRegion occupiedRegion;
30 : 4 : occupiedRegion.lon_range.minimum = ParametricValue(0.8);
31 : 4 : occupiedRegion.lon_range.maximum = ParametricValue(1.0);
32 : 4 : occupiedRegion.segment_id = 1.;
33 : 4 : occupiedRegion.lat_range.minimum = ParametricValue(0.2);
34 : 4 : occupiedRegion.lat_range.maximum = ParametricValue(0.4);
35 : :
36 [ + - ]: 4 : leadingObject.occupied_regions.push_back(occupiedRegion);
37 : : }
38 : :
39 : 4 : followingObject = createObject(36., 0.);
40 : 4 : followingObject.object_id = 1;
41 : : {
42 : 4 : world::OccupiedRegion occupiedRegion;
43 : 4 : occupiedRegion.lon_range.minimum = ParametricValue(0.1);
44 : 4 : occupiedRegion.lon_range.maximum = ParametricValue(0.2);
45 : 4 : occupiedRegion.segment_id = 1.;
46 : 4 : occupiedRegion.lat_range.minimum = ParametricValue(0.6);
47 : 4 : occupiedRegion.lat_range.maximum = ParametricValue(0.8);
48 [ + - ]: 4 : followingObject.occupied_regions.push_back(occupiedRegion);
49 : : }
50 : 4 : }
51 : :
52 : 4 : virtual void TearDown()
53 : : {
54 : 4 : followingObject.occupied_regions.clear();
55 : 4 : leadingObject.occupied_regions.clear();
56 : 4 : constellation.ego_vehicle_road.clear();
57 : 4 : }
58 : :
59 : 3 : world::RoadArea longitudinalNoDifferenceRoadArea()
60 : : {
61 : 3 : world::RoadArea roadArea;
62 : : {
63 : 3 : world::RoadSegment roadSegment;
64 : 3 : world::LaneSegment laneSegment;
65 : :
66 : 3 : laneSegment.id = 1;
67 : 3 : laneSegment.length.minimum = Distance(10);
68 : 3 : laneSegment.length.maximum = Distance(10);
69 : :
70 : 3 : laneSegment.width.minimum = Distance(5);
71 : 3 : laneSegment.width.maximum = Distance(5);
72 : :
73 : 3 : roadSegment.type = world::RoadSegmentType::Normal;
74 [ + - ]: 3 : roadSegment.lane_segments.push_back(laneSegment);
75 [ + - ]: 3 : roadArea.push_back(roadSegment);
76 : 3 : }
77 : :
78 : : {
79 : 3 : world::RoadSegment roadSegment;
80 : 3 : world::LaneSegment laneSegment;
81 : :
82 : 3 : laneSegment.id = 2;
83 : 3 : laneSegment.length.minimum = Distance(5);
84 : 3 : laneSegment.length.maximum = Distance(5);
85 : :
86 : 3 : laneSegment.width.minimum = Distance(5);
87 : 3 : laneSegment.width.maximum = Distance(5);
88 : :
89 : 3 : roadSegment.type = world::RoadSegmentType::Intersection;
90 [ + - ]: 3 : roadSegment.lane_segments.push_back(laneSegment);
91 : :
92 [ + - ]: 3 : roadArea.push_back(roadSegment);
93 : 3 : }
94 : 3 : return roadArea;
95 : 0 : }
96 : :
97 : 3 : world::RoadArea longitudinalDifferenceRoadArea()
98 : : {
99 : 3 : world::RoadArea roadArea;
100 : : {
101 : 3 : world::RoadSegment roadSegment;
102 : 3 : world::LaneSegment laneSegment;
103 : :
104 : 3 : laneSegment.id = 1;
105 : 3 : laneSegment.length.minimum = Distance(8);
106 : 3 : laneSegment.length.maximum = Distance(10);
107 : :
108 : 3 : laneSegment.width.minimum = Distance(5);
109 : 3 : laneSegment.width.maximum = Distance(5);
110 : :
111 : 3 : roadSegment.type = world::RoadSegmentType::Normal;
112 [ + - ]: 3 : roadSegment.lane_segments.push_back(laneSegment);
113 : :
114 [ + - ]: 3 : roadArea.push_back(roadSegment);
115 : 3 : }
116 : :
117 : : {
118 : 3 : world::RoadSegment roadSegment;
119 : 3 : world::LaneSegment laneSegment;
120 : :
121 : 3 : laneSegment.id = 2;
122 : 3 : laneSegment.length.minimum = Distance(4);
123 : 3 : laneSegment.length.maximum = Distance(5);
124 : :
125 : 3 : laneSegment.width.minimum = Distance(5);
126 : 3 : laneSegment.width.maximum = Distance(5);
127 : :
128 : 3 : roadSegment.type = world::RoadSegmentType::Intersection;
129 : 3 : roadSegment.minimum_length_before_intersecting_area = Distance(0.5);
130 : 3 : roadSegment.minimum_length_after_intersecting_area = Distance(0.3);
131 [ + - ]: 3 : roadSegment.lane_segments.push_back(laneSegment);
132 : :
133 [ + - ]: 3 : roadArea.push_back(roadSegment);
134 : 3 : }
135 : 3 : return roadArea;
136 : 0 : }
137 : :
138 : : world::Object followingObject;
139 : : world::Object leadingObject;
140 : : world::WorldModel worldModel;
141 : : world::Constellation constellation;
142 : : RssSituationExtraction constellationExtraction;
143 : : };
144 : :
145 : 4 : TEST_F(RssSituationExtractionIntersectionTests, noLongitudinalDifference)
146 : : {
147 : 1 : core::RssSituationSnapshot situationSnapshot;
148 : :
149 [ + - ]: 1 : constellation.ego_vehicle = objectAsEgo(leadingObject);
150 [ + - ]: 1 : constellation.object = followingObject;
151 : :
152 [ + - ]: 1 : constellation.ego_vehicle_road = longitudinalNoDifferenceRoadArea();
153 [ + - ]: 1 : constellation.intersecting_road = constellation.ego_vehicle_road;
154 : :
155 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
156 : 1 : worldModel.time_index = 1;
157 : :
158 [ + - - + : 1 : ASSERT_TRUE(constellationExtraction.extractSituation(worldModel, situationSnapshot));
- - - - -
- - - +
- ]
159 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.time_index, worldModel.time_index);
- - - - -
- + - ]
160 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations.size(), 1u);
- - - - -
- + - ]
161 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices.size(), 1u);
- - - - -
- + - ]
162 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[0], 0u);
- - - - -
- + - ]
163 : :
164 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.longitudinal_distance, Distance(6.));
- - - - -
- + - ]
165 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lon_max, Speed(10.));
- - - - -
- + - ]
166 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lon_min, Speed(10.));
- - - - -
- + - ]
167 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.dynamics.alpha_lon.accel_max,
- - - - -
- ]
168 [ + - ]: 1 : constellation.ego_vehicle_rss_dynamics.alpha_lon.accel_max);
169 : :
170 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
171 [ + - ]: 1 : Distance(0));
172 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
173 [ + - ]: 1 : Distance(7));
174 [ - + - - : 1 : ASSERT_TRUE(situationSnapshot.constellations[0].ego_state.structured_object_state.has_priority);
- - - - -
- + - ]
175 : :
176 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
177 [ + - ]: 1 : Distance(8));
178 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
179 [ + - ]: 1 : Distance(14));
180 [ - + - - : 1 : ASSERT_FALSE(situationSnapshot.constellations[0].other_state.structured_object_state.has_priority);
- - - - -
- + - ]
181 : :
182 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.longitudinal_position,
- - - - -
- ]
183 [ + - ]: 1 : core::LongitudinalRelativePosition::InFront);
184 : :
185 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_position,
- - - - -
- ]
186 [ + - ]: 1 : core::LateralRelativePosition::Overlap);
187 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_distance, Distance(0));
- - - - -
- + - ]
188 [ + - ]: 1 : }
189 : :
190 : 4 : TEST_F(RssSituationExtractionIntersectionTests, longitudinalDifference)
191 : : {
192 : 1 : core::RssSituationSnapshot situationSnapshot;
193 : :
194 [ + - ]: 1 : constellation.ego_vehicle = objectAsEgo(leadingObject);
195 [ + - ]: 1 : constellation.object = followingObject;
196 : :
197 [ + - ]: 1 : constellation.ego_vehicle_road = longitudinalDifferenceRoadArea();
198 [ + - ]: 1 : constellation.intersecting_road = constellation.ego_vehicle_road;
199 : :
200 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
201 : 1 : worldModel.time_index = 1;
202 : :
203 [ + - - + : 1 : ASSERT_TRUE(constellationExtraction.extractSituation(worldModel, situationSnapshot));
- - - - -
- - - +
- ]
204 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.time_index, worldModel.time_index);
- - - - -
- + - ]
205 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations.size(), 1u);
- - - - -
- + - ]
206 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices.size(), 1u);
- - - - -
- + - ]
207 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[0], 0u);
- - - - -
- + - ]
208 : :
209 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lon_max, Speed(10.));
- - - - -
- + - ]
210 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lon_min, Speed(10.));
- - - - -
- + - ]
211 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.dynamics.alpha_lon.accel_max,
- - - - -
- ]
212 [ + - ]: 1 : constellation.ego_vehicle_rss_dynamics.alpha_lon.accel_max);
213 : :
214 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
215 [ + - ]: 1 : Distance(0.));
216 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
217 [ + - ]: 1 : Distance(8.3));
218 [ - + - - : 1 : ASSERT_TRUE(situationSnapshot.constellations[0].ego_state.structured_object_state.has_priority);
- - - - -
- + - ]
219 : :
220 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
221 [ + - ]: 1 : Distance(6.5));
222 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
223 [ + - ]: 1 : Distance(13.9));
224 [ - + - - : 1 : ASSERT_FALSE(situationSnapshot.constellations[0].other_state.structured_object_state.has_priority);
- - - - -
- + - ]
225 : :
226 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.longitudinal_position,
- - - - -
- ]
227 [ + - ]: 1 : core::LongitudinalRelativePosition::InFront);
228 : :
229 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_position,
- - - - -
- ]
230 [ + - ]: 1 : core::LateralRelativePosition::Overlap);
231 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_distance, Distance(0));
- - - - -
- + - ]
232 [ + - ]: 1 : }
233 : :
234 : 4 : TEST_F(RssSituationExtractionIntersectionTests, mergeWorstCaseInFront)
235 : : {
236 : 1 : core::RssSituationSnapshot situationSnapshot;
237 : :
238 [ + - ]: 1 : constellation.ego_vehicle = objectAsEgo(leadingObject);
239 [ + - ]: 1 : constellation.object = followingObject;
240 : :
241 [ + - ]: 1 : constellation.ego_vehicle_road = longitudinalDifferenceRoadArea();
242 [ + - ]: 1 : constellation.intersecting_road = constellation.ego_vehicle_road;
243 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
244 : :
245 [ + - ]: 1 : constellation.ego_vehicle_road = longitudinalNoDifferenceRoadArea();
246 [ + - ]: 1 : constellation.intersecting_road = constellation.ego_vehicle_road;
247 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
248 : :
249 : 1 : constellation.object.velocity.speed_lon_min = Speed(9.0);
250 : 1 : constellation.object.velocity.speed_lon_max = Speed(9.0);
251 : 1 : constellation.object.velocity.speed_lat_min = Speed(-1.);
252 : 1 : constellation.object.velocity.speed_lat_max = Speed(-1.);
253 : :
254 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
255 : 1 : worldModel.time_index = 1;
256 : :
257 [ + - - + : 1 : ASSERT_TRUE(constellationExtraction.extractSituation(worldModel, situationSnapshot));
- - - - -
- - - +
- ]
258 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.time_index, worldModel.time_index);
- - - - -
- + - ]
259 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations.size(), 1u);
- - - - -
- + - ]
260 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices.size(), 3u);
- - - - -
- + - ]
261 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[0], 0u);
- - - - -
- + - ]
262 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[1], 1u);
- - - - -
- + - ]
263 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[2], 2u);
- - - - -
- + - ]
264 : :
265 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.dynamics.alpha_lon.accel_max,
- - - - -
- ]
266 [ + - ]: 1 : constellation.ego_vehicle_rss_dynamics.alpha_lon.accel_max);
267 : :
268 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
269 [ + - ]: 1 : Distance(0.));
270 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
271 [ + - ]: 1 : Distance(8.3));
272 [ - + - - : 1 : ASSERT_TRUE(situationSnapshot.constellations[0].ego_state.structured_object_state.has_priority);
- - - - -
- + - ]
273 : :
274 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.velocity.speed_lon_min, Speed(9.));
- - - - -
- + - ]
275 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.velocity.speed_lon_max, Speed(10.));
- - - - -
- + - ]
276 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.velocity.speed_lat_min, Speed(-1.));
- - - - -
- + - ]
277 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.velocity.speed_lat_max, Speed(0.));
- - - - -
- + - ]
278 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
279 [ + - ]: 1 : Distance(6.5));
280 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
281 [ + - ]: 1 : Distance(14.));
282 [ - + - - : 1 : ASSERT_FALSE(situationSnapshot.constellations[0].other_state.structured_object_state.has_priority);
- - - - -
- + - ]
283 : :
284 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.longitudinal_position,
- - - - -
- ]
285 [ + - ]: 1 : core::LongitudinalRelativePosition::InFront);
286 : :
287 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_position,
- - - - -
- ]
288 [ + - ]: 1 : core::LateralRelativePosition::Overlap);
289 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_distance, Distance(0));
- - - - -
- + - ]
290 [ + - ]: 1 : }
291 : :
292 : 4 : TEST_F(RssSituationExtractionIntersectionTests, mergeWorstCaseAtBack)
293 : : {
294 : 1 : core::RssSituationSnapshot situationSnapshot;
295 : :
296 [ + - ]: 1 : constellation.ego_vehicle = objectAsEgo(followingObject);
297 [ + - ]: 1 : constellation.object = leadingObject;
298 : :
299 [ + - ]: 1 : constellation.ego_vehicle_road = longitudinalDifferenceRoadArea();
300 [ + - ]: 1 : constellation.intersecting_road = constellation.ego_vehicle_road;
301 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
302 : :
303 [ + - ]: 1 : constellation.ego_vehicle_road = longitudinalNoDifferenceRoadArea();
304 [ + - ]: 1 : constellation.intersecting_road = constellation.ego_vehicle_road;
305 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
306 : :
307 : 1 : constellation.ego_vehicle.velocity.speed_lon_min = Speed(8.0);
308 : 1 : constellation.ego_vehicle.velocity.speed_lon_max = Speed(9.0);
309 : 1 : constellation.ego_vehicle.velocity.speed_lat_min = Speed(-1.);
310 : 1 : constellation.ego_vehicle.velocity.speed_lat_max = Speed(-0.5);
311 [ + - ]: 1 : worldModel.constellations.push_back(constellation);
312 : 1 : worldModel.time_index = 1;
313 : :
314 [ + - - + : 1 : ASSERT_TRUE(constellationExtraction.extractSituation(worldModel, situationSnapshot));
- - - - -
- - - +
- ]
315 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.time_index, worldModel.time_index);
- - - - -
- + - ]
316 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations.size(), 1u);
- - - - -
- + - ]
317 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices.size(), 3u);
- - - - -
- + - ]
318 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[0], 0u);
- - - - -
- + - ]
319 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[1], 1u);
- - - - -
- + - ]
320 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].world_model_indices[2], 2u);
- - - - -
- + - ]
321 : :
322 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lon_min, Speed(8.));
- - - - -
- + - ]
323 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lon_max, Speed(10.));
- - - - -
- + - ]
324 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lat_min, Speed(-1.));
- - - - -
- + - ]
325 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.velocity.speed_lat_max, Speed(0.));
- - - - -
- + - ]
326 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.dynamics.alpha_lon.accel_max,
- - - - -
- ]
327 [ + - ]: 1 : constellation.ego_vehicle_rss_dynamics.alpha_lon.accel_max);
328 : :
329 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
330 [ + - ]: 1 : Distance(6.5));
331 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].ego_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
332 [ + - ]: 1 : Distance(14.));
333 [ - + - - : 1 : ASSERT_TRUE(situationSnapshot.constellations[0].ego_state.structured_object_state.has_priority);
- - - - -
- + - ]
334 : :
335 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_enter_intersection,
- - - - -
- ]
336 [ + - ]: 1 : Distance(0.));
337 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].other_state.structured_object_state.distance_to_leave_intersection,
- - - - -
- ]
338 [ + - ]: 1 : Distance(8.3));
339 [ - + - - : 1 : ASSERT_FALSE(situationSnapshot.constellations[0].other_state.structured_object_state.has_priority);
- - - - -
- + - ]
340 : :
341 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.longitudinal_position,
- - - - -
- ]
342 [ + - ]: 1 : core::LongitudinalRelativePosition::AtBack);
343 : :
344 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_position,
- - - - -
- ]
345 [ + - ]: 1 : core::LateralRelativePosition::Overlap);
346 [ + - - + : 1 : ASSERT_EQ(situationSnapshot.constellations[0].relative_position.lateral_distance, Distance(0));
- - - - -
- + - ]
347 [ + - ]: 1 : }
348 : :
349 : : } // namespace core
350 : : } // namespace rss
351 : : } // namespace ad
|