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/FullRoute.hpp" 23 : : 24 : : class FullRouteTests : public testing::Test 25 : : { 26 : : protected: 27 : 13 : virtual void SetUp() override 28 : : { 29 : : // valid initialization 30 : 26 : ::ad::map::route::FullRoute value; 31 : 26 : ::ad::map::route::RoadSegmentList valueRoadSegments; 32 : 26 : ::ad::map::route::RoadSegment valueRoadSegmentsElement; 33 : 26 : ::ad::map::route::LaneSegmentList valueRoadSegmentsElementDrivableLaneSegments; 34 : 26 : ::ad::map::route::LaneSegment valueRoadSegmentsElementDrivableLaneSegmentsElement; 35 : 13 : ::ad::map::lane::LaneId valueRoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor(1); 36 : : valueRoadSegmentsElementDrivableLaneSegmentsElement.leftNeighbor 37 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor; 38 : 13 : ::ad::map::lane::LaneId valueRoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor(1); 39 : : valueRoadSegmentsElementDrivableLaneSegmentsElement.rightNeighbor 40 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementRightNeighbor; 41 : 26 : ::ad::map::lane::LaneIdList valueRoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 42 : 13 : ::ad::map::lane::LaneId valueRoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement(1); 43 [ + - ]: 13 : valueRoadSegmentsElementDrivableLaneSegmentsElementPredecessors.resize( 44 : : 1, valueRoadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement); 45 : : valueRoadSegmentsElementDrivableLaneSegmentsElement.predecessors 46 [ + - ]: 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementPredecessors; 47 : 26 : ::ad::map::lane::LaneIdList valueRoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 48 : 13 : ::ad::map::lane::LaneId valueRoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement(1); 49 [ + - ]: 13 : valueRoadSegmentsElementDrivableLaneSegmentsElementSuccessors.resize( 50 : : 1, valueRoadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement); 51 : : valueRoadSegmentsElementDrivableLaneSegmentsElement.successors 52 [ + - ]: 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementSuccessors; 53 : 13 : ::ad::map::route::LaneInterval valueRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 54 : 13 : ::ad::map::lane::LaneId valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId(1); 55 : : valueRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.laneId 56 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId; 57 : 13 : ::ad::physics::ParametricValue valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart(0.); 58 : : valueRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.start 59 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart; 60 : 13 : ::ad::physics::ParametricValue valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd(0.); 61 : : valueRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.end 62 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd; 63 : 13 : bool valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay{true}; 64 : : valueRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval.wrongWay 65 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay; 66 : : valueRoadSegmentsElementDrivableLaneSegmentsElement.laneInterval 67 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 68 : 13 : ::ad::map::route::RouteLaneOffset valueRoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset( 69 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 70 : : valueRoadSegmentsElementDrivableLaneSegmentsElement.routeLaneOffset 71 : 13 : = valueRoadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset; 72 [ + - ]: 13 : valueRoadSegmentsElementDrivableLaneSegments.resize(1, valueRoadSegmentsElementDrivableLaneSegmentsElement); 73 [ + - ]: 13 : valueRoadSegmentsElement.drivableLaneSegments = valueRoadSegmentsElementDrivableLaneSegments; 74 : 13 : ::ad::map::route::SegmentCounter valueRoadSegmentsElementSegmentCountFromDestination( 75 : : std::numeric_limits<::ad::map::route::SegmentCounter>::lowest()); 76 : 13 : valueRoadSegmentsElement.segmentCountFromDestination = valueRoadSegmentsElementSegmentCountFromDestination; 77 : 13 : ::ad::map::point::BoundingSphere valueRoadSegmentsElementBoundingSphere; 78 : 13 : ::ad::map::point::ECEFPoint valueRoadSegmentsElementBoundingSphereCenter; 79 : 13 : ::ad::map::point::ECEFCoordinate valueRoadSegmentsElementBoundingSphereCenterX(-6400000); 80 : 13 : valueRoadSegmentsElementBoundingSphereCenter.x = valueRoadSegmentsElementBoundingSphereCenterX; 81 : 13 : ::ad::map::point::ECEFCoordinate valueRoadSegmentsElementBoundingSphereCenterY(-6400000); 82 : 13 : valueRoadSegmentsElementBoundingSphereCenter.y = valueRoadSegmentsElementBoundingSphereCenterY; 83 : 13 : ::ad::map::point::ECEFCoordinate valueRoadSegmentsElementBoundingSphereCenterZ(-6400000); 84 : 13 : valueRoadSegmentsElementBoundingSphereCenter.z = valueRoadSegmentsElementBoundingSphereCenterZ; 85 : 13 : valueRoadSegmentsElementBoundingSphere.center = valueRoadSegmentsElementBoundingSphereCenter; 86 : 13 : ::ad::physics::Distance valueRoadSegmentsElementBoundingSphereRadius(-1e9); 87 : 13 : valueRoadSegmentsElementBoundingSphere.radius = valueRoadSegmentsElementBoundingSphereRadius; 88 : 13 : valueRoadSegmentsElement.boundingSphere = valueRoadSegmentsElementBoundingSphere; 89 [ + - ]: 13 : valueRoadSegments.resize(1, valueRoadSegmentsElement); 90 [ + - ]: 13 : value.roadSegments = valueRoadSegments; 91 : 13 : ::ad::map::route::RoutePlanningCounter valueRoutePlanningCounter( 92 : : std::numeric_limits<::ad::map::route::RoutePlanningCounter>::lowest()); 93 : 13 : value.routePlanningCounter = valueRoutePlanningCounter; 94 : 13 : ::ad::map::route::SegmentCounter valueFullRouteSegmentCount( 95 : : std::numeric_limits<::ad::map::route::SegmentCounter>::lowest()); 96 : 13 : value.fullRouteSegmentCount = valueFullRouteSegmentCount; 97 : 13 : ::ad::map::route::RouteLaneOffset valueDestinationLaneOffset( 98 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 99 : 13 : value.destinationLaneOffset = valueDestinationLaneOffset; 100 : 13 : ::ad::map::route::RouteLaneOffset valueMinLaneOffset( 101 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 102 : 13 : value.minLaneOffset = valueMinLaneOffset; 103 : 13 : ::ad::map::route::RouteLaneOffset valueMaxLaneOffset( 104 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::lowest()); 105 : 13 : value.maxLaneOffset = valueMaxLaneOffset; 106 : 13 : ::ad::map::route::RouteCreationMode valueRouteCreationMode(::ad::map::route::RouteCreationMode::Undefined); 107 : 13 : value.routeCreationMode = valueRouteCreationMode; 108 [ + - ]: 13 : mValue = value; 109 : 13 : } 110 : : 111 : : ::ad::map::route::FullRoute mValue; 112 : : }; 113 : : 114 : 2 : TEST_F(FullRouteTests, copyConstruction) 115 : : { 116 [ + - ]: 2 : ::ad::map::route::FullRoute value(mValue); 117 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 118 : 1 : } 119 : : 120 : 2 : TEST_F(FullRouteTests, moveConstruction) 121 : : { 122 [ + - ]: 2 : ::ad::map::route::FullRoute tmpValue(mValue); 123 : 2 : ::ad::map::route::FullRoute value(std::move(tmpValue)); 124 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 125 : 1 : } 126 : : 127 : 2 : TEST_F(FullRouteTests, copyAssignment) 128 : : { 129 : 2 : ::ad::map::route::FullRoute value; 130 [ + - ]: 1 : value = mValue; 131 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 132 : 1 : } 133 : : 134 : 2 : TEST_F(FullRouteTests, moveAssignment) 135 : : { 136 [ + - ]: 2 : ::ad::map::route::FullRoute tmpValue(mValue); 137 : 2 : ::ad::map::route::FullRoute value; 138 : 1 : value = std::move(tmpValue); 139 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 140 : 1 : } 141 : : 142 : 2 : TEST_F(FullRouteTests, comparisonOperatorEqual) 143 : : { 144 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 145 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 146 : : 147 [ + - - + : 1 : EXPECT_TRUE(valueA == valueB); - - - - - - - - ] 148 [ + - - + : 1 : EXPECT_FALSE(valueA != valueB); - - - - - - - - ] 149 : 1 : } 150 : : 151 : 2 : TEST_F(FullRouteTests, stringConversionTest) 152 : : { 153 [ + - ]: 1 : std::stringstream stream; 154 [ + - ]: 1 : stream << mValue; 155 [ + - ]: 1 : std::string ostreamStr = stream.str(); 156 [ + - ]: 1 : std::string toStr = std::to_string(mValue); 157 [ + - - + : 1 : ASSERT_EQ(ostreamStr, toStr); - - - - - - ] 158 : : } 159 : : 160 : 2 : TEST_F(FullRouteTests, comparisonOperatorRoadSegmentsDiffers) 161 : : { 162 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 163 : 2 : ::ad::map::route::RoadSegmentList roadSegments; 164 : 2 : ::ad::map::route::RoadSegment roadSegmentsElement; 165 : 2 : ::ad::map::route::LaneSegmentList roadSegmentsElementDrivableLaneSegments; 166 : 2 : ::ad::map::route::LaneSegment roadSegmentsElementDrivableLaneSegmentsElement; 167 : : ::ad::map::lane::LaneId roadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor( 168 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 169 : : roadSegmentsElementDrivableLaneSegmentsElement.leftNeighbor 170 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementLeftNeighbor; 171 : : ::ad::map::lane::LaneId roadSegmentsElementDrivableLaneSegmentsElementRightNeighbor( 172 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 173 : : roadSegmentsElementDrivableLaneSegmentsElement.rightNeighbor 174 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementRightNeighbor; 175 : 2 : ::ad::map::lane::LaneIdList roadSegmentsElementDrivableLaneSegmentsElementPredecessors; 176 : : ::ad::map::lane::LaneId roadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement( 177 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 178 [ + - ]: 1 : roadSegmentsElementDrivableLaneSegmentsElementPredecessors.resize( 179 : : 2, roadSegmentsElementDrivableLaneSegmentsElementPredecessorsElement); 180 : : roadSegmentsElementDrivableLaneSegmentsElement.predecessors 181 [ + - ]: 1 : = roadSegmentsElementDrivableLaneSegmentsElementPredecessors; 182 : 2 : ::ad::map::lane::LaneIdList roadSegmentsElementDrivableLaneSegmentsElementSuccessors; 183 : : ::ad::map::lane::LaneId roadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement( 184 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 185 [ + - ]: 1 : roadSegmentsElementDrivableLaneSegmentsElementSuccessors.resize( 186 : : 2, roadSegmentsElementDrivableLaneSegmentsElementSuccessorsElement); 187 [ + - ]: 1 : roadSegmentsElementDrivableLaneSegmentsElement.successors = roadSegmentsElementDrivableLaneSegmentsElementSuccessors; 188 : 1 : ::ad::map::route::LaneInterval roadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 189 : : ::ad::map::lane::LaneId roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId( 190 : 1 : std::numeric_limits<::ad::map::lane::LaneId>::max()); 191 : : roadSegmentsElementDrivableLaneSegmentsElementLaneInterval.laneId 192 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalLaneId; 193 : 1 : ::ad::physics::ParametricValue roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart(1.); 194 : : roadSegmentsElementDrivableLaneSegmentsElementLaneInterval.start 195 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalStart; 196 : 1 : ::ad::physics::ParametricValue roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd(1.); 197 : : roadSegmentsElementDrivableLaneSegmentsElementLaneInterval.end 198 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalEnd; 199 : 1 : bool roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay{false}; 200 : : roadSegmentsElementDrivableLaneSegmentsElementLaneInterval.wrongWay 201 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementLaneIntervalWrongWay; 202 : : roadSegmentsElementDrivableLaneSegmentsElement.laneInterval 203 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementLaneInterval; 204 : 1 : ::ad::map::route::RouteLaneOffset roadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset( 205 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 206 : : roadSegmentsElementDrivableLaneSegmentsElement.routeLaneOffset 207 : 1 : = roadSegmentsElementDrivableLaneSegmentsElementRouteLaneOffset; 208 [ + - ]: 1 : roadSegmentsElementDrivableLaneSegments.resize(2, roadSegmentsElementDrivableLaneSegmentsElement); 209 [ + - ]: 1 : roadSegmentsElement.drivableLaneSegments = roadSegmentsElementDrivableLaneSegments; 210 : 1 : ::ad::map::route::SegmentCounter roadSegmentsElementSegmentCountFromDestination( 211 : : std::numeric_limits<::ad::map::route::SegmentCounter>::max()); 212 : 1 : roadSegmentsElement.segmentCountFromDestination = roadSegmentsElementSegmentCountFromDestination; 213 : 1 : ::ad::map::point::BoundingSphere roadSegmentsElementBoundingSphere; 214 : 1 : ::ad::map::point::ECEFPoint roadSegmentsElementBoundingSphereCenter; 215 : 1 : ::ad::map::point::ECEFCoordinate roadSegmentsElementBoundingSphereCenterX(6400000); 216 : 1 : roadSegmentsElementBoundingSphereCenter.x = roadSegmentsElementBoundingSphereCenterX; 217 : 1 : ::ad::map::point::ECEFCoordinate roadSegmentsElementBoundingSphereCenterY(6400000); 218 : 1 : roadSegmentsElementBoundingSphereCenter.y = roadSegmentsElementBoundingSphereCenterY; 219 : 1 : ::ad::map::point::ECEFCoordinate roadSegmentsElementBoundingSphereCenterZ(6400000); 220 : 1 : roadSegmentsElementBoundingSphereCenter.z = roadSegmentsElementBoundingSphereCenterZ; 221 : 1 : roadSegmentsElementBoundingSphere.center = roadSegmentsElementBoundingSphereCenter; 222 : 1 : ::ad::physics::Distance roadSegmentsElementBoundingSphereRadius(1e9); 223 : 1 : roadSegmentsElementBoundingSphere.radius = roadSegmentsElementBoundingSphereRadius; 224 : 1 : roadSegmentsElement.boundingSphere = roadSegmentsElementBoundingSphere; 225 [ + - ]: 1 : roadSegments.resize(2, roadSegmentsElement); 226 [ + - ]: 1 : valueA.roadSegments = roadSegments; 227 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 228 : : 229 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 230 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 231 : 1 : } 232 : : 233 : 2 : TEST_F(FullRouteTests, comparisonOperatorRoutePlanningCounterDiffers) 234 : : { 235 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 236 : 1 : ::ad::map::route::RoutePlanningCounter routePlanningCounter( 237 : : std::numeric_limits<::ad::map::route::RoutePlanningCounter>::max()); 238 : 1 : valueA.routePlanningCounter = routePlanningCounter; 239 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 240 : : 241 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 242 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 243 : 1 : } 244 : : 245 : 2 : TEST_F(FullRouteTests, comparisonOperatorFullRouteSegmentCountDiffers) 246 : : { 247 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 248 : 1 : ::ad::map::route::SegmentCounter fullRouteSegmentCount(std::numeric_limits<::ad::map::route::SegmentCounter>::max()); 249 : 1 : valueA.fullRouteSegmentCount = fullRouteSegmentCount; 250 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 251 : : 252 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 253 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 254 : 1 : } 255 : : 256 : 2 : TEST_F(FullRouteTests, comparisonOperatorDestinationLaneOffsetDiffers) 257 : : { 258 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 259 : 1 : ::ad::map::route::RouteLaneOffset destinationLaneOffset( 260 : : std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 261 : 1 : valueA.destinationLaneOffset = destinationLaneOffset; 262 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 263 : : 264 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 265 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 266 : 1 : } 267 : : 268 : 2 : TEST_F(FullRouteTests, comparisonOperatorMinLaneOffsetDiffers) 269 : : { 270 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 271 : 1 : ::ad::map::route::RouteLaneOffset minLaneOffset(std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 272 : 1 : valueA.minLaneOffset = minLaneOffset; 273 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 274 : : 275 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 276 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 277 : 1 : } 278 : : 279 : 2 : TEST_F(FullRouteTests, comparisonOperatorMaxLaneOffsetDiffers) 280 : : { 281 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 282 : 1 : ::ad::map::route::RouteLaneOffset maxLaneOffset(std::numeric_limits<::ad::map::route::RouteLaneOffset>::max()); 283 : 1 : valueA.maxLaneOffset = maxLaneOffset; 284 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 285 : : 286 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 287 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 288 : 1 : } 289 : : 290 : 2 : TEST_F(FullRouteTests, comparisonOperatorRouteCreationModeDiffers) 291 : : { 292 [ + - ]: 2 : ::ad::map::route::FullRoute valueA = mValue; 293 : 1 : ::ad::map::route::RouteCreationMode routeCreationMode(::ad::map::route::RouteCreationMode::AllNeighborLanes); 294 : 1 : valueA.routeCreationMode = routeCreationMode; 295 [ + - ]: 2 : ::ad::map::route::FullRoute valueB = mValue; 296 : : 297 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 298 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 299 : 1 : } 300 : : 301 : : #if defined(__clang__) && (__clang_major__ >= 7) 302 : : #pragma GCC diagnostic pop 303 : : #endif