Branch data Line data Source code
1 : : /* 2 : : * ----------------- BEGIN LICENSE BLOCK --------------------------------- 3 : : * 4 : : * Copyright (C) 2018-2021 Intel Corporation 5 : : * 6 : : * SPDX-License-Identifier: MIT 7 : : * 8 : : * ----------------- END LICENSE BLOCK ----------------------------------- 9 : : */ 10 : : 11 : : /* 12 : : * Generated file 13 : : */ 14 : : 15 : : #if defined(__clang__) && (__clang_major__ >= 7) 16 : : #pragma GCC diagnostic push 17 : : #pragma GCC diagnostic ignored "-Wself-assign-overloaded" 18 : : #endif 19 : : 20 : : #include <gtest/gtest.h> 21 : : #include <limits> 22 : : #include "ad/map/route/ConnectingRoute.hpp" 23 : : 24 : : class ConnectingRouteTests : public testing::Test 25 : : { 26 : : protected: 27 : 9 : virtual void SetUp() override 28 : : { 29 : : // valid initialization 30 : 18 : ::ad::map::route::ConnectingRoute value; 31 : 9 : ::ad::map::route::ConnectingRouteType valueType(::ad::map::route::ConnectingRouteType::Invalid); 32 : 9 : value.type = valueType; 33 : 18 : ::ad::map::route::FullRoute valueRouteA; 34 : 18 : ::ad::map::route::RoadSegmentList valueRouteARoadSegments; 35 : 18 : ::ad::map::route::RoadSegment valueRouteARoadSegmentsElement; 36 : 18 : ::ad::map::route::LaneSegmentList valueRouteARoadSegmentsElementDrivableLaneSegments; 37 : 18 : ::ad::map::route::LaneSegment valueRouteARoadSegmentsElementDrivableLaneSegmentsElement; 38 : 9 : ::ad::map::lane::LaneId valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor(1); 39 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElement.leftNeighbor 40 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor; 41 : 9 : ::ad::map::lane::LaneId valueRouteARoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor(1); 42 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElement.rightNeighbor 43 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor; 44 : 18 : ::ad::map::lane::LaneIdList valueRouteARoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 45 : 9 : ::ad::map::lane::LaneId valueRouteARoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement(1); 46 [ + - ]: 9 : valueRouteARoadSegmentsElementDrivableLaneSegmentsElementPredecessors.resize( 47 : : 1, valueRouteARoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement); 48 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElement.predecessors 49 [ + - ]: 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 50 : 18 : ::ad::map::lane::LaneIdList valueRouteARoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 51 : 9 : ::ad::map::lane::LaneId valueRouteARoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement(1); 52 [ + - ]: 9 : valueRouteARoadSegmentsElementDrivableLaneSegmentsElementSuccessors.resize( 53 : : 1, valueRouteARoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement); 54 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElement.successors 55 [ + - ]: 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 56 : 9 : ::ad::map::route::LaneInterval valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 57 : 9 : ::ad::map::lane::LaneId valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId(1); 58 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.laneId 59 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId; 60 : 9 : ::ad::physics::ParametricValue valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart(0.); 61 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.start 62 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart; 63 : 9 : ::ad::physics::ParametricValue valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd(0.); 64 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.end 65 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd; 66 : 9 : bool valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay{true}; 67 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.wrongWay 68 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay; 69 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElement.laneInterval 70 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 71 : 9 : ::ad::map::route::RouteLaneOffset valueRouteARoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset( 72 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 73 : : valueRouteARoadSegmentsElementDrivableLaneSegmentsElement.routeLaneOffset 74 : 9 : = valueRouteARoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset; 75 [ + - ]: 9 : valueRouteARoadSegmentsElementDrivableLaneSegments.resize( 76 : : 1, valueRouteARoadSegmentsElementDrivableLaneSegmentsElement); 77 [ + - ]: 9 : valueRouteARoadSegmentsElement.drivableLaneSegments = valueRouteARoadSegmentsElementDrivableLaneSegments; 78 : 9 : ::ad::map::route::SegmentCounter valueRouteARoadSegmentsElementSegmentCountFromDestination( 79 : : std::numeric_limits<::ad::map::route::SegmentCounter>::lowest()); 80 : : valueRouteARoadSegmentsElement.segmentCountFromDestination 81 : 9 : = valueRouteARoadSegmentsElementSegmentCountFromDestination; 82 : 9 : ::ad::map::point::BoundingSphere valueRouteARoadSegmentsElementBoundingSphere; 83 : 9 : ::ad::map::point::ECEFPoint valueRouteARoadSegmentsElementBoundingSphereCenter; 84 : 9 : ::ad::map::point::ECEFCoordinate valueRouteARoadSegmentsElementBoundingSphereCenterX(-6400000); 85 : 9 : valueRouteARoadSegmentsElementBoundingSphereCenter.x = valueRouteARoadSegmentsElementBoundingSphereCenterX; 86 : 9 : ::ad::map::point::ECEFCoordinate valueRouteARoadSegmentsElementBoundingSphereCenterY(-6400000); 87 : 9 : valueRouteARoadSegmentsElementBoundingSphereCenter.y = valueRouteARoadSegmentsElementBoundingSphereCenterY; 88 : 9 : ::ad::map::point::ECEFCoordinate valueRouteARoadSegmentsElementBoundingSphereCenterZ(-6400000); 89 : 9 : valueRouteARoadSegmentsElementBoundingSphereCenter.z = valueRouteARoadSegmentsElementBoundingSphereCenterZ; 90 : 9 : valueRouteARoadSegmentsElementBoundingSphere.center = valueRouteARoadSegmentsElementBoundingSphereCenter; 91 : 9 : ::ad::physics::Distance valueRouteARoadSegmentsElementBoundingSphereRadius(-1e9); 92 : 9 : valueRouteARoadSegmentsElementBoundingSphere.radius = valueRouteARoadSegmentsElementBoundingSphereRadius; 93 : 9 : valueRouteARoadSegmentsElement.boundingSphere = valueRouteARoadSegmentsElementBoundingSphere; 94 [ + - ]: 9 : valueRouteARoadSegments.resize(1, valueRouteARoadSegmentsElement); 95 [ + - ]: 9 : valueRouteA.roadSegments = valueRouteARoadSegments; 96 : 9 : ::ad::map::route::RoutePlanningCounter valueRouteARoutePlanningCounter( 97 : : std::numeric_limits<::ad::map::route::RoutePlanningCounter>::lowest()); 98 : 9 : valueRouteA.routePlanningCounter = valueRouteARoutePlanningCounter; 99 : 9 : ::ad::map::route::SegmentCounter valueRouteAFullRouteSegmentCount( 100 : : std::numeric_limits<::ad::map::route::SegmentCounter>::lowest()); 101 : 9 : valueRouteA.fullRouteSegmentCount = valueRouteAFullRouteSegmentCount; 102 : 9 : ::ad::map::route::RouteLaneOffset valueRouteADestinationLaneOffset( 103 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 104 : 9 : valueRouteA.destinationLaneOffset = valueRouteADestinationLaneOffset; 105 : 9 : ::ad::map::route::RouteLaneOffset valueRouteAMinLaneOffset( 106 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 107 : 9 : valueRouteA.minLaneOffset = valueRouteAMinLaneOffset; 108 : 9 : ::ad::map::route::RouteLaneOffset valueRouteAMaxLaneOffset( 109 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 110 : 9 : valueRouteA.maxLaneOffset = valueRouteAMaxLaneOffset; 111 : 9 : ::ad::map::route::RouteCreationMode valueRouteARouteCreationMode(::ad::map::route::RouteCreationMode::Undefined); 112 : 9 : valueRouteA.routeCreationMode = valueRouteARouteCreationMode; 113 [ + - ]: 9 : value.routeA = valueRouteA; 114 : 18 : ::ad::map::route::FullRoute valueRouteB; 115 : 18 : ::ad::map::route::RoadSegmentList valueRouteBRoadSegments; 116 : 18 : ::ad::map::route::RoadSegment valueRouteBRoadSegmentsElement; 117 : 18 : ::ad::map::route::LaneSegmentList valueRouteBRoadSegmentsElementDrivableLaneSegments; 118 : 18 : ::ad::map::route::LaneSegment valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement; 119 : 9 : ::ad::map::lane::LaneId valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor(1); 120 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement.leftNeighbor 121 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor; 122 : 9 : ::ad::map::lane::LaneId valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor(1); 123 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement.rightNeighbor 124 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor; 125 : 18 : ::ad::map::lane::LaneIdList valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 126 : 9 : ::ad::map::lane::LaneId valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement(1); 127 [ + - ]: 9 : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementPredecessors.resize( 128 : : 1, valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement); 129 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement.predecessors 130 [ + - ]: 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 131 : 18 : ::ad::map::lane::LaneIdList valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 132 : 9 : ::ad::map::lane::LaneId valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement(1); 133 [ + - ]: 9 : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementSuccessors.resize( 134 : : 1, valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement); 135 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement.successors 136 [ + - ]: 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 137 : 9 : ::ad::map::route::LaneInterval valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 138 : 9 : ::ad::map::lane::LaneId valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId(1); 139 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.laneId 140 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId; 141 : 9 : ::ad::physics::ParametricValue valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart(0.); 142 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.start 143 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart; 144 : 9 : ::ad::physics::ParametricValue valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd(0.); 145 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.end 146 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd; 147 : 9 : bool valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay{true}; 148 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.wrongWay 149 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay; 150 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement.laneInterval 151 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 152 : 9 : ::ad::map::route::RouteLaneOffset valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset( 153 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 154 : : valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement.routeLaneOffset 155 : 9 : = valueRouteBRoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset; 156 [ + - ]: 9 : valueRouteBRoadSegmentsElementDrivableLaneSegments.resize( 157 : : 1, valueRouteBRoadSegmentsElementDrivableLaneSegmentsElement); 158 [ + - ]: 9 : valueRouteBRoadSegmentsElement.drivableLaneSegments = valueRouteBRoadSegmentsElementDrivableLaneSegments; 159 : 9 : ::ad::map::route::SegmentCounter valueRouteBRoadSegmentsElementSegmentCountFromDestination( 160 : : std::numeric_limits<::ad::map::route::SegmentCounter>::lowest()); 161 : : valueRouteBRoadSegmentsElement.segmentCountFromDestination 162 : 9 : = valueRouteBRoadSegmentsElementSegmentCountFromDestination; 163 : 9 : ::ad::map::point::BoundingSphere valueRouteBRoadSegmentsElementBoundingSphere; 164 : 9 : ::ad::map::point::ECEFPoint valueRouteBRoadSegmentsElementBoundingSphereCenter; 165 : 9 : ::ad::map::point::ECEFCoordinate valueRouteBRoadSegmentsElementBoundingSphereCenterX(-6400000); 166 : 9 : valueRouteBRoadSegmentsElementBoundingSphereCenter.x = valueRouteBRoadSegmentsElementBoundingSphereCenterX; 167 : 9 : ::ad::map::point::ECEFCoordinate valueRouteBRoadSegmentsElementBoundingSphereCenterY(-6400000); 168 : 9 : valueRouteBRoadSegmentsElementBoundingSphereCenter.y = valueRouteBRoadSegmentsElementBoundingSphereCenterY; 169 : 9 : ::ad::map::point::ECEFCoordinate valueRouteBRoadSegmentsElementBoundingSphereCenterZ(-6400000); 170 : 9 : valueRouteBRoadSegmentsElementBoundingSphereCenter.z = valueRouteBRoadSegmentsElementBoundingSphereCenterZ; 171 : 9 : valueRouteBRoadSegmentsElementBoundingSphere.center = valueRouteBRoadSegmentsElementBoundingSphereCenter; 172 : 9 : ::ad::physics::Distance valueRouteBRoadSegmentsElementBoundingSphereRadius(-1e9); 173 : 9 : valueRouteBRoadSegmentsElementBoundingSphere.radius = valueRouteBRoadSegmentsElementBoundingSphereRadius; 174 : 9 : valueRouteBRoadSegmentsElement.boundingSphere = valueRouteBRoadSegmentsElementBoundingSphere; 175 [ + - ]: 9 : valueRouteBRoadSegments.resize(1, valueRouteBRoadSegmentsElement); 176 [ + - ]: 9 : valueRouteB.roadSegments = valueRouteBRoadSegments; 177 : 9 : ::ad::map::route::RoutePlanningCounter valueRouteBRoutePlanningCounter( 178 : : std::numeric_limits<::ad::map::route::RoutePlanningCounter>::lowest()); 179 : 9 : valueRouteB.routePlanningCounter = valueRouteBRoutePlanningCounter; 180 : 9 : ::ad::map::route::SegmentCounter valueRouteBFullRouteSegmentCount( 181 : : std::numeric_limits<::ad::map::route::SegmentCounter>::lowest()); 182 : 9 : valueRouteB.fullRouteSegmentCount = valueRouteBFullRouteSegmentCount; 183 : 9 : ::ad::map::route::RouteLaneOffset valueRouteBDestinationLaneOffset( 184 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 185 : 9 : valueRouteB.destinationLaneOffset = valueRouteBDestinationLaneOffset; 186 : 9 : ::ad::map::route::RouteLaneOffset valueRouteBMinLaneOffset( 187 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 188 : 9 : valueRouteB.minLaneOffset = valueRouteBMinLaneOffset; 189 : 9 : ::ad::map::route::RouteLaneOffset valueRouteBMaxLaneOffset( 190 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 191 : 9 : valueRouteB.maxLaneOffset = valueRouteBMaxLaneOffset; 192 : 9 : ::ad::map::route::RouteCreationMode valueRouteBRouteCreationMode(::ad::map::route::RouteCreationMode::Undefined); 193 : 9 : valueRouteB.routeCreationMode = valueRouteBRouteCreationMode; 194 [ + - ]: 9 : value.routeB = valueRouteB; 195 [ + - ]: 9 : mValue = value; 196 : 9 : } 197 : : 198 : : ::ad::map::route::ConnectingRoute mValue; 199 : : }; 200 : : 201 : 2 : TEST_F(ConnectingRouteTests, copyConstruction) 202 : : { 203 [ + - ]: 2 : ::ad::map::route::ConnectingRoute value(mValue); 204 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 205 : 1 : } 206 : : 207 : 2 : TEST_F(ConnectingRouteTests, moveConstruction) 208 : : { 209 [ + - ]: 2 : ::ad::map::route::ConnectingRoute tmpValue(mValue); 210 : 2 : ::ad::map::route::ConnectingRoute value(std::move(tmpValue)); 211 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 212 : 1 : } 213 : : 214 : 2 : TEST_F(ConnectingRouteTests, copyAssignment) 215 : : { 216 : 2 : ::ad::map::route::ConnectingRoute value; 217 [ + - ]: 1 : value = mValue; 218 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 219 : 1 : } 220 : : 221 : 2 : TEST_F(ConnectingRouteTests, moveAssignment) 222 : : { 223 [ + - ]: 2 : ::ad::map::route::ConnectingRoute tmpValue(mValue); 224 : 2 : ::ad::map::route::ConnectingRoute value; 225 : 1 : value = std::move(tmpValue); 226 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 227 : 1 : } 228 : : 229 : 2 : TEST_F(ConnectingRouteTests, comparisonOperatorEqual) 230 : : { 231 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueA = mValue; 232 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueB = mValue; 233 : : 234 [ + - - + : 1 : EXPECT_TRUE(valueA == valueB); - - - - - - - - ] 235 [ + - - + : 1 : EXPECT_FALSE(valueA != valueB); - - - - - - - - ] 236 : 1 : } 237 : : 238 : 2 : TEST_F(ConnectingRouteTests, stringConversionTest) 239 : : { 240 [ + - ]: 1 : std::stringstream stream; 241 [ + - ]: 1 : stream << mValue; 242 [ + - ]: 1 : std::string ostreamStr = stream.str(); 243 [ + - ]: 1 : std::string toStr = std::to_string(mValue); 244 [ + - - + : 1 : ASSERT_EQ(ostreamStr, toStr); - - - - - - ] 245 : : } 246 : : 247 : 2 : TEST_F(ConnectingRouteTests, comparisonOperatorTypeDiffers) 248 : : { 249 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueA = mValue; 250 : 1 : ::ad::map::route::ConnectingRouteType type(::ad::map::route::ConnectingRouteType::Merging); 251 : 1 : valueA.type = type; 252 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueB = mValue; 253 : : 254 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 255 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 256 : 1 : } 257 : : 258 : 2 : TEST_F(ConnectingRouteTests, comparisonOperatorRouteADiffers) 259 : : { 260 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueA = mValue; 261 : 2 : ::ad::map::route::FullRoute routeA; 262 : 2 : ::ad::map::route::RoadSegmentList routeARoadSegments; 263 : 2 : ::ad::map::route::RoadSegment routeARoadSegmentsElement; 264 : 2 : ::ad::map::route::LaneSegmentList routeARoadSegmentsElementDrivableLaneSegments; 265 : 2 : ::ad::map::route::LaneSegment routeARoadSegmentsElementDrivableLaneSegmentsElement; 266 : : ::ad::map::lane::LaneId routeARoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor( 267 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 268 : : routeARoadSegmentsElementDrivableLaneSegmentsElement.leftNeighbor 269 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor; 270 : : ::ad::map::lane::LaneId routeARoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor( 271 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 272 : : routeARoadSegmentsElementDrivableLaneSegmentsElement.rightNeighbor 273 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor; 274 : 2 : ::ad::map::lane::LaneIdList routeARoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 275 : : ::ad::map::lane::LaneId routeARoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement( 276 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 277 [ + - ]: 1 : routeARoadSegmentsElementDrivableLaneSegmentsElementPredecessors.resize( 278 : : 2, routeARoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement); 279 : : routeARoadSegmentsElementDrivableLaneSegmentsElement.predecessors 280 [ + - ]: 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 281 : 2 : ::ad::map::lane::LaneIdList routeARoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 282 : : ::ad::map::lane::LaneId routeARoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement( 283 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 284 [ + - ]: 1 : routeARoadSegmentsElementDrivableLaneSegmentsElementSuccessors.resize( 285 : : 2, routeARoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement); 286 : : routeARoadSegmentsElementDrivableLaneSegmentsElement.successors 287 [ + - ]: 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 288 : 1 : ::ad::map::route::LaneInterval routeARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 289 : : ::ad::map::lane::LaneId routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId( 290 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 291 : : routeARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.laneId 292 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId; 293 : 1 : ::ad::physics::ParametricValue routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart(1.); 294 : : routeARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.start 295 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart; 296 : 1 : ::ad::physics::ParametricValue routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd(1.); 297 : : routeARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.end 298 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd; 299 : 1 : bool routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay{false}; 300 : : routeARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.wrongWay 301 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay; 302 : : routeARoadSegmentsElementDrivableLaneSegmentsElement.laneInterval 303 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 304 : 1 : ::ad::map::route::RouteLaneOffset routeARoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset( 305 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 306 : : routeARoadSegmentsElementDrivableLaneSegmentsElement.routeLaneOffset 307 : 1 : = routeARoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset; 308 [ + - ]: 1 : routeARoadSegmentsElementDrivableLaneSegments.resize(2, routeARoadSegmentsElementDrivableLaneSegmentsElement); 309 [ + - ]: 1 : routeARoadSegmentsElement.drivableLaneSegments = routeARoadSegmentsElementDrivableLaneSegments; 310 : 1 : ::ad::map::route::SegmentCounter routeARoadSegmentsElementSegmentCountFromDestination( 311 : : std::numeric_limits<::ad::map::route::SegmentCounter>::max()); 312 : 1 : routeARoadSegmentsElement.segmentCountFromDestination = routeARoadSegmentsElementSegmentCountFromDestination; 313 : 1 : ::ad::map::point::BoundingSphere routeARoadSegmentsElementBoundingSphere; 314 : 1 : ::ad::map::point::ECEFPoint routeARoadSegmentsElementBoundingSphereCenter; 315 : 1 : ::ad::map::point::ECEFCoordinate routeARoadSegmentsElementBoundingSphereCenterX(6400000); 316 : 1 : routeARoadSegmentsElementBoundingSphereCenter.x = routeARoadSegmentsElementBoundingSphereCenterX; 317 : 1 : ::ad::map::point::ECEFCoordinate routeARoadSegmentsElementBoundingSphereCenterY(6400000); 318 : 1 : routeARoadSegmentsElementBoundingSphereCenter.y = routeARoadSegmentsElementBoundingSphereCenterY; 319 : 1 : ::ad::map::point::ECEFCoordinate routeARoadSegmentsElementBoundingSphereCenterZ(6400000); 320 : 1 : routeARoadSegmentsElementBoundingSphereCenter.z = routeARoadSegmentsElementBoundingSphereCenterZ; 321 : 1 : routeARoadSegmentsElementBoundingSphere.center = routeARoadSegmentsElementBoundingSphereCenter; 322 : 1 : ::ad::physics::Distance routeARoadSegmentsElementBoundingSphereRadius(1e9); 323 : 1 : routeARoadSegmentsElementBoundingSphere.radius = routeARoadSegmentsElementBoundingSphereRadius; 324 : 1 : routeARoadSegmentsElement.boundingSphere = routeARoadSegmentsElementBoundingSphere; 325 [ + - ]: 1 : routeARoadSegments.resize(2, routeARoadSegmentsElement); 326 [ + - ]: 1 : routeA.roadSegments = routeARoadSegments; 327 : 1 : ::ad::map::route::RoutePlanningCounter routeARoutePlanningCounter( 328 : : std::numeric_limits<::ad::map::route::RoutePlanningCounter>::max()); 329 : 1 : routeA.routePlanningCounter = routeARoutePlanningCounter; 330 : 1 : ::ad::map::route::SegmentCounter routeAFullRouteSegmentCount( 331 : : std::numeric_limits<::ad::map::route::SegmentCounter>::max()); 332 : 1 : routeA.fullRouteSegmentCount = routeAFullRouteSegmentCount; 333 : 1 : ::ad::map::route::RouteLaneOffset routeADestinationLaneOffset( 334 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 335 : 1 : routeA.destinationLaneOffset = routeADestinationLaneOffset; 336 : 1 : ::ad::map::route::RouteLaneOffset routeAMinLaneOffset(std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 337 : 1 : routeA.minLaneOffset = routeAMinLaneOffset; 338 : 1 : ::ad::map::route::RouteLaneOffset routeAMaxLaneOffset(std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 339 : 1 : routeA.maxLaneOffset = routeAMaxLaneOffset; 340 : 1 : ::ad::map::route::RouteCreationMode routeARouteCreationMode(::ad::map::route::RouteCreationMode::AllNeighborLanes); 341 : 1 : routeA.routeCreationMode = routeARouteCreationMode; 342 [ + - ]: 1 : valueA.routeA = routeA; 343 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueB = mValue; 344 : : 345 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 346 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 347 : 1 : } 348 : : 349 : 2 : TEST_F(ConnectingRouteTests, comparisonOperatorRouteBDiffers) 350 : : { 351 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueA = mValue; 352 : 2 : ::ad::map::route::FullRoute routeB; 353 : 2 : ::ad::map::route::RoadSegmentList routeBRoadSegments; 354 : 2 : ::ad::map::route::RoadSegment routeBRoadSegmentsElement; 355 : 2 : ::ad::map::route::LaneSegmentList routeBRoadSegmentsElementDrivableLaneSegments; 356 : 2 : ::ad::map::route::LaneSegment routeBRoadSegmentsElementDrivableLaneSegmentsElement; 357 : : ::ad::map::lane::LaneId routeBRoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor( 358 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 359 : : routeBRoadSegmentsElementDrivableLaneSegmentsElement.leftNeighbor 360 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor; 361 : : ::ad::map::lane::LaneId routeBRoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor( 362 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 363 : : routeBRoadSegmentsElementDrivableLaneSegmentsElement.rightNeighbor 364 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor; 365 : 2 : ::ad::map::lane::LaneIdList routeBRoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 366 : : ::ad::map::lane::LaneId routeBRoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement( 367 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 368 [ + - ]: 1 : routeBRoadSegmentsElementDrivableLaneSegmentsElementPredecessors.resize( 369 : : 2, routeBRoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement); 370 : : routeBRoadSegmentsElementDrivableLaneSegmentsElement.predecessors 371 [ + - ]: 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 372 : 2 : ::ad::map::lane::LaneIdList routeBRoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 373 : : ::ad::map::lane::LaneId routeBRoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement( 374 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 375 [ + - ]: 1 : routeBRoadSegmentsElementDrivableLaneSegmentsElementSuccessors.resize( 376 : : 2, routeBRoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement); 377 : : routeBRoadSegmentsElementDrivableLaneSegmentsElement.successors 378 [ + - ]: 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 379 : 1 : ::ad::map::route::LaneInterval routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 380 : : ::ad::map::lane::LaneId routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId( 381 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 382 : : routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.laneId 383 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId; 384 : 1 : ::ad::physics::ParametricValue routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart(1.); 385 : : routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.start 386 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart; 387 : 1 : ::ad::physics::ParametricValue routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd(1.); 388 : : routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.end 389 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd; 390 : 1 : bool routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay{false}; 391 : : routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.wrongWay 392 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay; 393 : : routeBRoadSegmentsElementDrivableLaneSegmentsElement.laneInterval 394 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 395 : 1 : ::ad::map::route::RouteLaneOffset routeBRoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset( 396 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 397 : : routeBRoadSegmentsElementDrivableLaneSegmentsElement.routeLaneOffset 398 : 1 : = routeBRoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset; 399 [ + - ]: 1 : routeBRoadSegmentsElementDrivableLaneSegments.resize(2, routeBRoadSegmentsElementDrivableLaneSegmentsElement); 400 [ + - ]: 1 : routeBRoadSegmentsElement.drivableLaneSegments = routeBRoadSegmentsElementDrivableLaneSegments; 401 : 1 : ::ad::map::route::SegmentCounter routeBRoadSegmentsElementSegmentCountFromDestination( 402 : : std::numeric_limits<::ad::map::route::SegmentCounter>::max()); 403 : 1 : routeBRoadSegmentsElement.segmentCountFromDestination = routeBRoadSegmentsElementSegmentCountFromDestination; 404 : 1 : ::ad::map::point::BoundingSphere routeBRoadSegmentsElementBoundingSphere; 405 : 1 : ::ad::map::point::ECEFPoint routeBRoadSegmentsElementBoundingSphereCenter; 406 : 1 : ::ad::map::point::ECEFCoordinate routeBRoadSegmentsElementBoundingSphereCenterX(6400000); 407 : 1 : routeBRoadSegmentsElementBoundingSphereCenter.x = routeBRoadSegmentsElementBoundingSphereCenterX; 408 : 1 : ::ad::map::point::ECEFCoordinate routeBRoadSegmentsElementBoundingSphereCenterY(6400000); 409 : 1 : routeBRoadSegmentsElementBoundingSphereCenter.y = routeBRoadSegmentsElementBoundingSphereCenterY; 410 : 1 : ::ad::map::point::ECEFCoordinate routeBRoadSegmentsElementBoundingSphereCenterZ(6400000); 411 : 1 : routeBRoadSegmentsElementBoundingSphereCenter.z = routeBRoadSegmentsElementBoundingSphereCenterZ; 412 : 1 : routeBRoadSegmentsElementBoundingSphere.center = routeBRoadSegmentsElementBoundingSphereCenter; 413 : 1 : ::ad::physics::Distance routeBRoadSegmentsElementBoundingSphereRadius(1e9); 414 : 1 : routeBRoadSegmentsElementBoundingSphere.radius = routeBRoadSegmentsElementBoundingSphereRadius; 415 : 1 : routeBRoadSegmentsElement.boundingSphere = routeBRoadSegmentsElementBoundingSphere; 416 [ + - ]: 1 : routeBRoadSegments.resize(2, routeBRoadSegmentsElement); 417 [ + - ]: 1 : routeB.roadSegments = routeBRoadSegments; 418 : 1 : ::ad::map::route::RoutePlanningCounter routeBRoutePlanningCounter( 419 : : std::numeric_limits<::ad::map::route::RoutePlanningCounter>::max()); 420 : 1 : routeB.routePlanningCounter = routeBRoutePlanningCounter; 421 : 1 : ::ad::map::route::SegmentCounter routeBFullRouteSegmentCount( 422 : : std::numeric_limits<::ad::map::route::SegmentCounter>::max()); 423 : 1 : routeB.fullRouteSegmentCount = routeBFullRouteSegmentCount; 424 : 1 : ::ad::map::route::RouteLaneOffset routeBDestinationLaneOffset( 425 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 426 : 1 : routeB.destinationLaneOffset = routeBDestinationLaneOffset; 427 : 1 : ::ad::map::route::RouteLaneOffset routeBMinLaneOffset(std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 428 : 1 : routeB.minLaneOffset = routeBMinLaneOffset; 429 : 1 : ::ad::map::route::RouteLaneOffset routeBMaxLaneOffset(std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 430 : 1 : routeB.maxLaneOffset = routeBMaxLaneOffset; 431 : 1 : ::ad::map::route::RouteCreationMode routeBRouteCreationMode(::ad::map::route::RouteCreationMode::AllNeighborLanes); 432 : 1 : routeB.routeCreationMode = routeBRouteCreationMode; 433 [ + - ]: 1 : valueA.routeB = routeB; 434 [ + - ]: 2 : ::ad::map::route::ConnectingRoute valueB = mValue; 435 : : 436 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 437 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 438 : 1 : } 439 : : 440 : : #if defined(__clang__) && (__clang_major__ >= 7) 441 : : #pragma GCC diagnostic pop 442 : : #endif