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/landmark/Landmark.hpp" 23 : : 24 : : class LandmarkTests : public testing::Test 25 : : { 26 : : protected: 27 : 14 : virtual void SetUp() override 28 : : { 29 : : // valid initialization 30 : 28 : ::ad::map::landmark::Landmark value; 31 : 14 : ::ad::map::landmark::LandmarkId valueId(std::numeric_limits<::ad::map::landmark::LandmarkId>::lowest()); 32 : 14 : value.id = valueId; 33 : 14 : ::ad::map::landmark::LandmarkType valueType(::ad::map::landmark::LandmarkType::INVALID); 34 : 14 : value.type = valueType; 35 : 14 : ::ad::map::point::ECEFPoint valuePosition; 36 : 14 : ::ad::map::point::ECEFCoordinate valuePositionX(-6400000); 37 : 14 : valuePosition.x = valuePositionX; 38 : 14 : ::ad::map::point::ECEFCoordinate valuePositionY(-6400000); 39 : 14 : valuePosition.y = valuePositionY; 40 : 14 : ::ad::map::point::ECEFCoordinate valuePositionZ(-6400000); 41 : 14 : valuePosition.z = valuePositionZ; 42 : 14 : value.position = valuePosition; 43 : 14 : ::ad::map::point::ECEFPoint valueOrientation; 44 : 14 : ::ad::map::point::ECEFCoordinate valueOrientationX(-6400000); 45 : 14 : valueOrientation.x = valueOrientationX; 46 : 14 : ::ad::map::point::ECEFCoordinate valueOrientationY(-6400000); 47 : 14 : valueOrientation.y = valueOrientationY; 48 : 14 : ::ad::map::point::ECEFCoordinate valueOrientationZ(-6400000); 49 : 14 : valueOrientation.z = valueOrientationZ; 50 : 14 : value.orientation = valueOrientation; 51 : 28 : ::ad::map::point::Geometry valueBoundingBox; 52 : 14 : bool valueBoundingBoxIsValid{true}; 53 : 14 : valueBoundingBox.isValid = valueBoundingBoxIsValid; 54 : 14 : bool valueBoundingBoxIsClosed{true}; 55 : 14 : valueBoundingBox.isClosed = valueBoundingBoxIsClosed; 56 : 28 : ::ad::map::point::ECEFEdge valueBoundingBoxEcefEdge; 57 : 14 : ::ad::map::point::ECEFPoint valueBoundingBoxEcefEdgeElement; 58 : 14 : ::ad::map::point::ECEFCoordinate valueBoundingBoxEcefEdgeElementX(-6400000); 59 : 14 : valueBoundingBoxEcefEdgeElement.x = valueBoundingBoxEcefEdgeElementX; 60 : 14 : ::ad::map::point::ECEFCoordinate valueBoundingBoxEcefEdgeElementY(-6400000); 61 : 14 : valueBoundingBoxEcefEdgeElement.y = valueBoundingBoxEcefEdgeElementY; 62 : 14 : ::ad::map::point::ECEFCoordinate valueBoundingBoxEcefEdgeElementZ(-6400000); 63 : 14 : valueBoundingBoxEcefEdgeElement.z = valueBoundingBoxEcefEdgeElementZ; 64 [ + - ]: 14 : valueBoundingBoxEcefEdge.resize(1, valueBoundingBoxEcefEdgeElement); 65 [ + - ]: 14 : valueBoundingBox.ecefEdge = valueBoundingBoxEcefEdge; 66 : 14 : ::ad::physics::Distance valueBoundingBoxLength(-1e9); 67 : 14 : valueBoundingBox.length = valueBoundingBoxLength; 68 : 28 : ::ad::map::point::ENUEdgeCache valueBoundingBoxPrivate_enuEdgeCache; 69 : 28 : ::ad::map::point::ENUEdge valueBoundingBoxPrivate_enuEdgeCacheEnuEdge; 70 : 14 : ::ad::map::point::ENUPoint valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElement; 71 : 14 : ::ad::map::point::ENUCoordinate valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElementX(-16384); 72 : 14 : valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElement.x = valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElementX; 73 : 14 : ::ad::map::point::ENUCoordinate valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElementY(-16384); 74 : 14 : valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElement.y = valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElementY; 75 : 14 : ::ad::map::point::ENUCoordinate valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElementZ(-16384); 76 : 14 : valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElement.z = valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElementZ; 77 [ + - ]: 14 : valueBoundingBoxPrivate_enuEdgeCacheEnuEdge.resize(1, valueBoundingBoxPrivate_enuEdgeCacheEnuEdgeElement); 78 [ + - ]: 14 : valueBoundingBoxPrivate_enuEdgeCache.enuEdge = valueBoundingBoxPrivate_enuEdgeCacheEnuEdge; 79 : 14 : uint64_t valueBoundingBoxPrivate_enuEdgeCacheEnuVersion{std::numeric_limits<uint64_t>::min()}; 80 : 14 : valueBoundingBoxPrivate_enuEdgeCache.enuVersion = valueBoundingBoxPrivate_enuEdgeCacheEnuVersion; 81 [ + - ]: 14 : valueBoundingBox.private_enuEdgeCache = valueBoundingBoxPrivate_enuEdgeCache; 82 [ + - ]: 14 : value.boundingBox = valueBoundingBox; 83 [ + - ]: 28 : std::string valueSupplementaryText{"min"}; 84 [ + - ]: 14 : value.supplementaryText = valueSupplementaryText; 85 : 14 : ::ad::map::landmark::TrafficLightType valueTrafficLightType(::ad::map::landmark::TrafficLightType::INVALID); 86 : 14 : value.trafficLightType = valueTrafficLightType; 87 : 14 : ::ad::map::landmark::TrafficSignType valueTrafficSignType(::ad::map::landmark::TrafficSignType::INVALID); 88 : 14 : value.trafficSignType = valueTrafficSignType; 89 [ + - ]: 14 : mValue = value; 90 : 14 : } 91 : : 92 : : ::ad::map::landmark::Landmark mValue; 93 : : }; 94 : : 95 : 2 : TEST_F(LandmarkTests, copyConstruction) 96 : : { 97 [ + - ]: 2 : ::ad::map::landmark::Landmark value(mValue); 98 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 99 : 1 : } 100 : : 101 : 2 : TEST_F(LandmarkTests, moveConstruction) 102 : : { 103 [ + - ]: 2 : ::ad::map::landmark::Landmark tmpValue(mValue); 104 : 2 : ::ad::map::landmark::Landmark value(std::move(tmpValue)); 105 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 106 : 1 : } 107 : : 108 : 2 : TEST_F(LandmarkTests, copyAssignment) 109 : : { 110 : 2 : ::ad::map::landmark::Landmark value; 111 [ + - ]: 1 : value = mValue; 112 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 113 : 1 : } 114 : : 115 : 2 : TEST_F(LandmarkTests, moveAssignment) 116 : : { 117 [ + - ]: 2 : ::ad::map::landmark::Landmark tmpValue(mValue); 118 : 2 : ::ad::map::landmark::Landmark value; 119 : 1 : value = std::move(tmpValue); 120 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 121 : 1 : } 122 : : 123 : 2 : TEST_F(LandmarkTests, comparisonOperatorEqual) 124 : : { 125 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 126 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 127 : : 128 [ + - - + : 1 : EXPECT_TRUE(valueA == valueB); - - - - - - - - ] 129 [ + - - + : 1 : EXPECT_FALSE(valueA != valueB); - - - - - - - - ] 130 : 1 : } 131 : : 132 : 2 : TEST_F(LandmarkTests, stringConversionTest) 133 : : { 134 [ + - ]: 1 : std::stringstream stream; 135 [ + - ]: 1 : stream << mValue; 136 [ + - ]: 1 : std::string ostreamStr = stream.str(); 137 [ + - ]: 1 : std::string toStr = std::to_string(mValue); 138 [ + - - + : 1 : ASSERT_EQ(ostreamStr, toStr); - - - - - - ] 139 : : } 140 : : 141 : 2 : TEST_F(LandmarkTests, comparisonOperatorIdDiffers) 142 : : { 143 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 144 : 1 : ::ad::map::landmark::LandmarkId id(std::numeric_limits<::ad::map::landmark::LandmarkId>::max()); 145 : 1 : valueA.id = id; 146 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 147 : : 148 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 149 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 150 : 1 : } 151 : : 152 : 2 : TEST_F(LandmarkTests, comparisonOperatorTypeDiffers) 153 : : { 154 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 155 : 1 : ::ad::map::landmark::LandmarkType type(::ad::map::landmark::LandmarkType::OTHER); 156 : 1 : valueA.type = type; 157 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 158 : : 159 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 160 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 161 : 1 : } 162 : : 163 : 2 : TEST_F(LandmarkTests, comparisonOperatorPositionDiffers) 164 : : { 165 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 166 : 1 : ::ad::map::point::ECEFPoint position; 167 : 1 : ::ad::map::point::ECEFCoordinate positionX(6400000); 168 : 1 : position.x = positionX; 169 : 1 : ::ad::map::point::ECEFCoordinate positionY(6400000); 170 : 1 : position.y = positionY; 171 : 1 : ::ad::map::point::ECEFCoordinate positionZ(6400000); 172 : 1 : position.z = positionZ; 173 : 1 : valueA.position = position; 174 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 175 : : 176 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 177 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 178 : 1 : } 179 : : 180 : 2 : TEST_F(LandmarkTests, comparisonOperatorOrientationDiffers) 181 : : { 182 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 183 : 1 : ::ad::map::point::ECEFPoint orientation; 184 : 1 : ::ad::map::point::ECEFCoordinate orientationX(6400000); 185 : 1 : orientation.x = orientationX; 186 : 1 : ::ad::map::point::ECEFCoordinate orientationY(6400000); 187 : 1 : orientation.y = orientationY; 188 : 1 : ::ad::map::point::ECEFCoordinate orientationZ(6400000); 189 : 1 : orientation.z = orientationZ; 190 : 1 : valueA.orientation = orientation; 191 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 192 : : 193 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 194 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 195 : 1 : } 196 : : 197 : 2 : TEST_F(LandmarkTests, comparisonOperatorBoundingBoxDiffers) 198 : : { 199 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 200 : 2 : ::ad::map::point::Geometry boundingBox; 201 : 1 : bool boundingBoxIsValid{false}; 202 : 1 : boundingBox.isValid = boundingBoxIsValid; 203 : 1 : bool boundingBoxIsClosed{false}; 204 : 1 : boundingBox.isClosed = boundingBoxIsClosed; 205 : 2 : ::ad::map::point::ECEFEdge boundingBoxEcefEdge; 206 : 1 : ::ad::map::point::ECEFPoint boundingBoxEcefEdgeElement; 207 : 1 : ::ad::map::point::ECEFCoordinate boundingBoxEcefEdgeElementX(6400000); 208 : 1 : boundingBoxEcefEdgeElement.x = boundingBoxEcefEdgeElementX; 209 : 1 : ::ad::map::point::ECEFCoordinate boundingBoxEcefEdgeElementY(6400000); 210 : 1 : boundingBoxEcefEdgeElement.y = boundingBoxEcefEdgeElementY; 211 : 1 : ::ad::map::point::ECEFCoordinate boundingBoxEcefEdgeElementZ(6400000); 212 : 1 : boundingBoxEcefEdgeElement.z = boundingBoxEcefEdgeElementZ; 213 [ + - ]: 1 : boundingBoxEcefEdge.resize(2, boundingBoxEcefEdgeElement); 214 [ + - ]: 1 : boundingBox.ecefEdge = boundingBoxEcefEdge; 215 : 1 : ::ad::physics::Distance boundingBoxLength(1e9); 216 : 1 : boundingBox.length = boundingBoxLength; 217 : 2 : ::ad::map::point::ENUEdgeCache boundingBoxPrivate_enuEdgeCache; 218 : 2 : ::ad::map::point::ENUEdge boundingBoxPrivate_enuEdgeCacheEnuEdge; 219 : 1 : ::ad::map::point::ENUPoint boundingBoxPrivate_enuEdgeCacheEnuEdgeElement; 220 : 1 : ::ad::map::point::ENUCoordinate boundingBoxPrivate_enuEdgeCacheEnuEdgeElementX(16384); 221 : 1 : boundingBoxPrivate_enuEdgeCacheEnuEdgeElement.x = boundingBoxPrivate_enuEdgeCacheEnuEdgeElementX; 222 : 1 : ::ad::map::point::ENUCoordinate boundingBoxPrivate_enuEdgeCacheEnuEdgeElementY(16384); 223 : 1 : boundingBoxPrivate_enuEdgeCacheEnuEdgeElement.y = boundingBoxPrivate_enuEdgeCacheEnuEdgeElementY; 224 : 1 : ::ad::map::point::ENUCoordinate boundingBoxPrivate_enuEdgeCacheEnuEdgeElementZ(16384); 225 : 1 : boundingBoxPrivate_enuEdgeCacheEnuEdgeElement.z = boundingBoxPrivate_enuEdgeCacheEnuEdgeElementZ; 226 [ + - ]: 1 : boundingBoxPrivate_enuEdgeCacheEnuEdge.resize(2, boundingBoxPrivate_enuEdgeCacheEnuEdgeElement); 227 [ + - ]: 1 : boundingBoxPrivate_enuEdgeCache.enuEdge = boundingBoxPrivate_enuEdgeCacheEnuEdge; 228 : 1 : uint64_t boundingBoxPrivate_enuEdgeCacheEnuVersion{std::numeric_limits<uint64_t>::max()}; 229 : 1 : boundingBoxPrivate_enuEdgeCache.enuVersion = boundingBoxPrivate_enuEdgeCacheEnuVersion; 230 [ + - ]: 1 : boundingBox.private_enuEdgeCache = boundingBoxPrivate_enuEdgeCache; 231 [ + - ]: 1 : valueA.boundingBox = boundingBox; 232 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 233 : : 234 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 235 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 236 : 1 : } 237 : : 238 : 2 : TEST_F(LandmarkTests, comparisonOperatorSupplementaryTextDiffers) 239 : : { 240 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 241 [ + - ]: 2 : std::string supplementaryText{"max"}; 242 [ + - ]: 1 : valueA.supplementaryText = supplementaryText; 243 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 244 : : 245 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 246 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 247 : 1 : } 248 : : 249 : 2 : TEST_F(LandmarkTests, comparisonOperatorTrafficLightTypeDiffers) 250 : : { 251 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 252 : 1 : ::ad::map::landmark::TrafficLightType trafficLightType( 253 : : ::ad::map::landmark::TrafficLightType::BIKE_PEDESTRIAN_RED_YELLOW_GREEN); 254 : 1 : valueA.trafficLightType = trafficLightType; 255 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 256 : : 257 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 258 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 259 : 1 : } 260 : : 261 : 2 : TEST_F(LandmarkTests, comparisonOperatorTrafficSignTypeDiffers) 262 : : { 263 [ + - ]: 2 : ::ad::map::landmark::Landmark valueA = mValue; 264 : 1 : ::ad::map::landmark::TrafficSignType trafficSignType(::ad::map::landmark::TrafficSignType::UNKNOWN); 265 : 1 : valueA.trafficSignType = trafficSignType; 266 [ + - ]: 2 : ::ad::map::landmark::Landmark valueB = mValue; 267 : : 268 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 269 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 270 : 1 : } 271 : : 272 : : #if defined(__clang__) && (__clang_major__ >= 7) 273 : : #pragma GCC diagnostic pop 274 : : #endif