Branch data Line data Source code
1 : : /* 2 : : * ----------------- BEGIN LICENSE BLOCK --------------------------------- 3 : : * 4 : : * Copyright (C) 2018-2021 Intel Corporation 5 : : * 6 : : * SPDX-License-Identifier: LGPL-2.1-only 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/rss/situation/VehicleState.hpp" 23 : : 24 : : class VehicleStateTests : public testing::Test 25 : : { 26 : : protected: 27 : 14 : virtual void SetUp() override 28 : : { 29 : : // valid initialization 30 : 14 : ::ad::rss::situation::VehicleState value; 31 : 14 : ::ad::rss::situation::VelocityRange valueVelocity; 32 : 14 : ::ad::physics::SpeedRange valueVelocitySpeedLon; 33 : 14 : ::ad::physics::Speed valueVelocitySpeedLonMinimum(-100.); 34 : 14 : valueVelocitySpeedLon.minimum = valueVelocitySpeedLonMinimum; 35 : 14 : ::ad::physics::Speed valueVelocitySpeedLonMaximum(-100.); 36 : 14 : valueVelocitySpeedLon.maximum = valueVelocitySpeedLonMaximum; 37 : 14 : valueVelocitySpeedLon.maximum = valueVelocitySpeedLon.minimum; 38 : 14 : valueVelocitySpeedLon.minimum = valueVelocitySpeedLon.maximum; 39 : 14 : valueVelocity.speedLon = valueVelocitySpeedLon; 40 : 14 : ::ad::physics::SpeedRange valueVelocitySpeedLat; 41 : 14 : ::ad::physics::Speed valueVelocitySpeedLatMinimum(-100.); 42 : 14 : valueVelocitySpeedLat.minimum = valueVelocitySpeedLatMinimum; 43 : 14 : ::ad::physics::Speed valueVelocitySpeedLatMaximum(-100.); 44 : 14 : valueVelocitySpeedLat.maximum = valueVelocitySpeedLatMaximum; 45 : 14 : valueVelocitySpeedLat.maximum = valueVelocitySpeedLat.minimum; 46 : 14 : valueVelocitySpeedLat.minimum = valueVelocitySpeedLat.maximum; 47 : 14 : valueVelocity.speedLat = valueVelocitySpeedLat; 48 : 14 : value.velocity = valueVelocity; 49 : 14 : ::ad::rss::world::RssDynamics valueDynamics; 50 : 14 : ::ad::rss::world::LongitudinalRssAccelerationValues valueDynamicsAlphaLon; 51 : 14 : ::ad::physics::Acceleration valueDynamicsAlphaLonAccelMax(-1e2); 52 : 14 : valueDynamicsAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 53 : 14 : valueDynamicsAlphaLon.accelMax = valueDynamicsAlphaLonAccelMax; 54 : 14 : ::ad::physics::Acceleration valueDynamicsAlphaLonBrakeMax(-1e2); 55 : 14 : valueDynamicsAlphaLon.brakeMax = valueDynamicsAlphaLonBrakeMax; 56 : 14 : ::ad::physics::Acceleration valueDynamicsAlphaLonBrakeMin(-1e2); 57 : 14 : valueDynamicsAlphaLon.brakeMin = valueDynamicsAlphaLonBrakeMin; 58 : 14 : ::ad::physics::Acceleration valueDynamicsAlphaLonBrakeMinCorrect(-1e2); 59 : 14 : valueDynamicsAlphaLon.brakeMinCorrect = valueDynamicsAlphaLonBrakeMinCorrect; 60 : 14 : valueDynamicsAlphaLon.brakeMin = valueDynamicsAlphaLon.brakeMax; 61 : 14 : valueDynamicsAlphaLon.brakeMinCorrect = valueDynamicsAlphaLon.brakeMin; 62 : 14 : valueDynamicsAlphaLon.brakeMin = valueDynamicsAlphaLon.brakeMinCorrect; 63 : 14 : valueDynamicsAlphaLon.brakeMax = valueDynamicsAlphaLon.brakeMin; 64 : 14 : valueDynamics.alphaLon = valueDynamicsAlphaLon; 65 : 14 : ::ad::rss::world::LateralRssAccelerationValues valueDynamicsAlphaLat; 66 : 14 : ::ad::physics::Acceleration valueDynamicsAlphaLatAccelMax(-1e2); 67 : 14 : valueDynamicsAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 68 : 14 : valueDynamicsAlphaLat.accelMax = valueDynamicsAlphaLatAccelMax; 69 : 14 : ::ad::physics::Acceleration valueDynamicsAlphaLatBrakeMin(-1e2); 70 : 14 : valueDynamicsAlphaLat.brakeMin = valueDynamicsAlphaLatBrakeMin; 71 : 14 : valueDynamics.alphaLat = valueDynamicsAlphaLat; 72 : 14 : ::ad::physics::Distance valueDynamicsLateralFluctuationMargin(-1e9); 73 : 14 : valueDynamicsLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 74 : 14 : valueDynamics.lateralFluctuationMargin = valueDynamicsLateralFluctuationMargin; 75 : 14 : ::ad::physics::Duration valueDynamicsResponseTime(0.); 76 : : valueDynamicsResponseTime 77 : 14 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 78 : 14 : valueDynamics.responseTime = valueDynamicsResponseTime; 79 : 14 : ::ad::physics::Speed valueDynamicsMaxSpeedOnAcceleration(-100.); 80 : 14 : valueDynamics.maxSpeedOnAcceleration = valueDynamicsMaxSpeedOnAcceleration; 81 : 14 : ::ad::rss::world::UnstructuredSettings valueDynamicsUnstructuredSettings; 82 : 14 : ::ad::physics::Distance valueDynamicsUnstructuredSettingsPedestrianTurningRadius(-1e9); 83 : : valueDynamicsUnstructuredSettings.pedestrianTurningRadius 84 : 14 : = valueDynamicsUnstructuredSettingsPedestrianTurningRadius; 85 : 14 : ::ad::physics::Angle valueDynamicsUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 86 : 14 : valueDynamicsUnstructuredSettings.driveAwayMaxAngle = valueDynamicsUnstructuredSettingsDriveAwayMaxAngle; 87 : 14 : ::ad::physics::AngularAcceleration valueDynamicsUnstructuredSettingsVehicleYawRateChange(-1e2); 88 : 14 : valueDynamicsUnstructuredSettings.vehicleYawRateChange = valueDynamicsUnstructuredSettingsVehicleYawRateChange; 89 : 14 : ::ad::physics::Distance valueDynamicsUnstructuredSettingsVehicleMinRadius(-1e9); 90 : 14 : valueDynamicsUnstructuredSettings.vehicleMinRadius = valueDynamicsUnstructuredSettingsVehicleMinRadius; 91 : 14 : ::ad::physics::Duration valueDynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 92 : : valueDynamicsUnstructuredSettings.vehicleTrajectoryCalculationStep 93 : 14 : = valueDynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep; 94 : 14 : uint32_t valueDynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 95 : : std::numeric_limits<uint32_t>::min()}; 96 : : valueDynamicsUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 97 : 14 : = valueDynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 98 : 14 : uint32_t valueDynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 99 : : std::numeric_limits<uint32_t>::min()}; 100 : : valueDynamicsUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 101 : 14 : = valueDynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 102 : 14 : uint32_t valueDynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{ 103 : : std::numeric_limits<uint32_t>::min()}; 104 : : valueDynamicsUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 105 : 14 : = valueDynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 106 : 14 : uint32_t valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 107 : : std::numeric_limits<uint32_t>::min()}; 108 : : valueDynamicsUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 109 : 14 : = valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 110 : 14 : uint32_t valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 111 : : std::numeric_limits<uint32_t>::min()}; 112 : : valueDynamicsUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 113 : 14 : = valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 114 : 14 : uint32_t valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 115 : : std::numeric_limits<uint32_t>::min()}; 116 : : valueDynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 117 : 14 : = valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 118 : 14 : uint32_t valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 119 : : std::numeric_limits<uint32_t>::min()}; 120 : : valueDynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 121 : 14 : = valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 122 : 14 : uint32_t valueDynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{ 123 : : std::numeric_limits<uint32_t>::min()}; 124 : : valueDynamicsUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 125 : 14 : = valueDynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 126 : 14 : uint32_t valueDynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 127 : : std::numeric_limits<uint32_t>::min()}; 128 : : valueDynamicsUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 129 : 14 : = valueDynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 130 : 14 : uint32_t valueDynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 131 : : std::numeric_limits<uint32_t>::min()}; 132 : : valueDynamicsUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 133 : 14 : = valueDynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 134 : 14 : valueDynamics.unstructuredSettings = valueDynamicsUnstructuredSettings; 135 : 14 : value.dynamics = valueDynamics; 136 : 14 : bool valueHasPriority{true}; 137 : 14 : value.hasPriority = valueHasPriority; 138 : 14 : bool valueIsInCorrectLane{true}; 139 : 14 : value.isInCorrectLane = valueIsInCorrectLane; 140 : 14 : ::ad::physics::Distance valueDistanceToEnterIntersection(-1e9); 141 : 14 : valueDistanceToEnterIntersection = ::ad::physics::Distance(0.); // set to valid value within struct 142 : 14 : value.distanceToEnterIntersection = valueDistanceToEnterIntersection; 143 : 14 : ::ad::physics::Distance valueDistanceToLeaveIntersection(-1e9); 144 : 14 : value.distanceToLeaveIntersection = valueDistanceToLeaveIntersection; 145 : 14 : ::ad::rss::world::ObjectType valueObjectType(::ad::rss::world::ObjectType::Invalid); 146 : 14 : value.objectType = valueObjectType; 147 : 14 : ::ad::rss::world::ObjectState valueObjectState; 148 : 14 : ::ad::physics::Angle valueObjectStateYaw(-6.283185308); 149 : 14 : valueObjectState.yaw = valueObjectStateYaw; 150 : 14 : ::ad::physics::Dimension2D valueObjectStateDimension; 151 : 14 : ::ad::physics::Distance valueObjectStateDimensionLength(-1e9); 152 : 14 : valueObjectStateDimension.length = valueObjectStateDimensionLength; 153 : 14 : ::ad::physics::Distance valueObjectStateDimensionWidth(-1e9); 154 : 14 : valueObjectStateDimension.width = valueObjectStateDimensionWidth; 155 : 14 : valueObjectState.dimension = valueObjectStateDimension; 156 : 14 : ::ad::physics::AngularVelocity valueObjectStateYawRate(-100.); 157 : 14 : valueObjectState.yawRate = valueObjectStateYawRate; 158 : 14 : ::ad::physics::Distance2D valueObjectStateCenterPoint; 159 : 14 : ::ad::physics::Distance valueObjectStateCenterPointX(-1e9); 160 : 14 : valueObjectStateCenterPoint.x = valueObjectStateCenterPointX; 161 : 14 : ::ad::physics::Distance valueObjectStateCenterPointY(-1e9); 162 : 14 : valueObjectStateCenterPoint.y = valueObjectStateCenterPointY; 163 : 14 : valueObjectState.centerPoint = valueObjectStateCenterPoint; 164 : 14 : ::ad::physics::Speed valueObjectStateSpeed(-100.); 165 : 14 : valueObjectState.speed = valueObjectStateSpeed; 166 : 14 : ::ad::physics::Angle valueObjectStateSteeringAngle(-6.283185308); 167 : 14 : valueObjectState.steeringAngle = valueObjectStateSteeringAngle; 168 : 14 : value.objectState = valueObjectState; 169 : 14 : value.distanceToLeaveIntersection = value.distanceToEnterIntersection; 170 : 14 : value.distanceToEnterIntersection = value.distanceToLeaveIntersection; 171 : 14 : mValue = value; 172 : 14 : } 173 : : 174 : : ::ad::rss::situation::VehicleState mValue; 175 : : }; 176 : : 177 : 2 : TEST_F(VehicleStateTests, copyConstruction) 178 : : { 179 : 1 : ::ad::rss::situation::VehicleState value(mValue); 180 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 181 : 1 : } 182 : : 183 : 2 : TEST_F(VehicleStateTests, moveConstruction) 184 : : { 185 : 1 : ::ad::rss::situation::VehicleState tmpValue(mValue); 186 : 1 : ::ad::rss::situation::VehicleState value(std::move(tmpValue)); 187 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 188 : 1 : } 189 : : 190 : 2 : TEST_F(VehicleStateTests, copyAssignment) 191 : : { 192 : 1 : ::ad::rss::situation::VehicleState value; 193 : 1 : value = mValue; 194 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 195 : 1 : } 196 : : 197 : 2 : TEST_F(VehicleStateTests, moveAssignment) 198 : : { 199 : 1 : ::ad::rss::situation::VehicleState tmpValue(mValue); 200 : 1 : ::ad::rss::situation::VehicleState value; 201 : 1 : value = std::move(tmpValue); 202 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 203 : 1 : } 204 : : 205 : 2 : TEST_F(VehicleStateTests, comparisonOperatorEqual) 206 : : { 207 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 208 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 209 : : 210 [ + - - + : 1 : EXPECT_TRUE(valueA == valueB); - - - - - - - - ] 211 [ + - - + : 1 : EXPECT_FALSE(valueA != valueB); - - - - - - - - ] 212 : 1 : } 213 : : 214 : 2 : TEST_F(VehicleStateTests, stringConversionTest) 215 : : { 216 [ + - ]: 1 : std::stringstream stream; 217 [ + - ]: 1 : stream << mValue; 218 [ + - ]: 1 : std::string ostreamStr = stream.str(); 219 [ + - ]: 1 : std::string toStr = std::to_string(mValue); 220 [ + - - + : 1 : ASSERT_EQ(ostreamStr, toStr); - - - - - - ] 221 : : } 222 : : 223 : 2 : TEST_F(VehicleStateTests, comparisonOperatorVelocityDiffers) 224 : : { 225 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 226 : 1 : ::ad::rss::situation::VelocityRange velocity; 227 : 1 : ::ad::physics::SpeedRange velocitySpeedLon; 228 : 1 : ::ad::physics::Speed velocitySpeedLonMinimum(100.); 229 : 1 : velocitySpeedLon.minimum = velocitySpeedLonMinimum; 230 : 1 : ::ad::physics::Speed velocitySpeedLonMaximum(100.); 231 : 1 : velocitySpeedLon.maximum = velocitySpeedLonMaximum; 232 : 1 : velocitySpeedLon.maximum = velocitySpeedLon.minimum; 233 : 1 : velocitySpeedLon.minimum = velocitySpeedLon.maximum; 234 : 1 : velocity.speedLon = velocitySpeedLon; 235 : 1 : ::ad::physics::SpeedRange velocitySpeedLat; 236 : 1 : ::ad::physics::Speed velocitySpeedLatMinimum(100.); 237 : 1 : velocitySpeedLat.minimum = velocitySpeedLatMinimum; 238 : 1 : ::ad::physics::Speed velocitySpeedLatMaximum(100.); 239 : 1 : velocitySpeedLat.maximum = velocitySpeedLatMaximum; 240 : 1 : velocitySpeedLat.maximum = velocitySpeedLat.minimum; 241 : 1 : velocitySpeedLat.minimum = velocitySpeedLat.maximum; 242 : 1 : velocity.speedLat = velocitySpeedLat; 243 : 1 : valueA.velocity = velocity; 244 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 245 : : 246 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 247 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 248 : 1 : } 249 : : 250 : 2 : TEST_F(VehicleStateTests, comparisonOperatorDynamicsDiffers) 251 : : { 252 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 253 : 1 : ::ad::rss::world::RssDynamics dynamics; 254 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues dynamicsAlphaLon; 255 : 1 : ::ad::physics::Acceleration dynamicsAlphaLonAccelMax(1e2); 256 : 1 : dynamicsAlphaLon.accelMax = dynamicsAlphaLonAccelMax; 257 : 1 : ::ad::physics::Acceleration dynamicsAlphaLonBrakeMax(1e2); 258 : 1 : dynamicsAlphaLon.brakeMax = dynamicsAlphaLonBrakeMax; 259 : 1 : ::ad::physics::Acceleration dynamicsAlphaLonBrakeMin(1e2); 260 : 1 : dynamicsAlphaLon.brakeMin = dynamicsAlphaLonBrakeMin; 261 : 1 : ::ad::physics::Acceleration dynamicsAlphaLonBrakeMinCorrect(1e2); 262 : 1 : dynamicsAlphaLonBrakeMinCorrect = ::ad::physics::Acceleration(0. * 0.9); // set to valid value within struct 263 : 1 : dynamicsAlphaLon.brakeMinCorrect = dynamicsAlphaLonBrakeMinCorrect; 264 : 1 : dynamicsAlphaLon.brakeMinCorrect = dynamicsAlphaLon.brakeMin; 265 : 1 : dynamicsAlphaLon.brakeMin = dynamicsAlphaLon.brakeMax; 266 : 1 : dynamicsAlphaLon.brakeMax = dynamicsAlphaLon.brakeMin; 267 : 1 : dynamicsAlphaLon.brakeMin = dynamicsAlphaLon.brakeMinCorrect; 268 : 1 : dynamics.alphaLon = dynamicsAlphaLon; 269 : 1 : ::ad::rss::world::LateralRssAccelerationValues dynamicsAlphaLat; 270 : 1 : ::ad::physics::Acceleration dynamicsAlphaLatAccelMax(1e2); 271 : 1 : dynamicsAlphaLat.accelMax = dynamicsAlphaLatAccelMax; 272 : 1 : ::ad::physics::Acceleration dynamicsAlphaLatBrakeMin(1e2); 273 : 1 : dynamicsAlphaLatBrakeMin = ::ad::physics::Acceleration(0. * 0.9); // set to valid value within struct 274 : 1 : dynamicsAlphaLat.brakeMin = dynamicsAlphaLatBrakeMin; 275 : 1 : dynamics.alphaLat = dynamicsAlphaLat; 276 : 1 : ::ad::physics::Distance dynamicsLateralFluctuationMargin(1e9); 277 : 1 : dynamicsLateralFluctuationMargin = ::ad::physics::Distance(1.); // set to valid value within struct 278 : 1 : dynamics.lateralFluctuationMargin = dynamicsLateralFluctuationMargin; 279 : 1 : ::ad::physics::Duration dynamicsResponseTime(1e6); 280 : 1 : dynamicsResponseTime = ::ad::physics::Duration(10.); // set to valid value within struct 281 : 1 : dynamics.responseTime = dynamicsResponseTime; 282 : 1 : ::ad::physics::Speed dynamicsMaxSpeedOnAcceleration(100.); 283 : 1 : dynamics.maxSpeedOnAcceleration = dynamicsMaxSpeedOnAcceleration; 284 : 1 : ::ad::rss::world::UnstructuredSettings dynamicsUnstructuredSettings; 285 : 1 : ::ad::physics::Distance dynamicsUnstructuredSettingsPedestrianTurningRadius(1e9); 286 : 1 : dynamicsUnstructuredSettings.pedestrianTurningRadius = dynamicsUnstructuredSettingsPedestrianTurningRadius; 287 : 1 : ::ad::physics::Angle dynamicsUnstructuredSettingsDriveAwayMaxAngle(6.283185308); 288 : 1 : dynamicsUnstructuredSettings.driveAwayMaxAngle = dynamicsUnstructuredSettingsDriveAwayMaxAngle; 289 : 1 : ::ad::physics::AngularAcceleration dynamicsUnstructuredSettingsVehicleYawRateChange(1e2); 290 : 1 : dynamicsUnstructuredSettings.vehicleYawRateChange = dynamicsUnstructuredSettingsVehicleYawRateChange; 291 : 1 : ::ad::physics::Distance dynamicsUnstructuredSettingsVehicleMinRadius(1e9); 292 : 1 : dynamicsUnstructuredSettings.vehicleMinRadius = dynamicsUnstructuredSettingsVehicleMinRadius; 293 : 1 : ::ad::physics::Duration dynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep(1e6); 294 : : dynamicsUnstructuredSettings.vehicleTrajectoryCalculationStep 295 : 1 : = dynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep; 296 : 1 : uint32_t dynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 297 : : std::numeric_limits<uint32_t>::max()}; 298 : : dynamicsUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 299 : 1 : = dynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 300 : 1 : uint32_t dynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 301 : : std::numeric_limits<uint32_t>::max()}; 302 : : dynamicsUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 303 : 1 : = dynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 304 : 1 : uint32_t dynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::max()}; 305 : : dynamicsUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 306 : 1 : = dynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 307 : 1 : uint32_t dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 308 : : std::numeric_limits<uint32_t>::max()}; 309 : : dynamicsUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 310 : 1 : = dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 311 : 1 : uint32_t dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 312 : : std::numeric_limits<uint32_t>::max()}; 313 : : dynamicsUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 314 : 1 : = dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 315 : 1 : uint32_t dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 316 : : std::numeric_limits<uint32_t>::max()}; 317 : : dynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 318 : 1 : = dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 319 : 1 : uint32_t dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 320 : : std::numeric_limits<uint32_t>::max()}; 321 : : dynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 322 : 1 : = dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 323 : 1 : uint32_t dynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{ 324 : : std::numeric_limits<uint32_t>::max()}; 325 : : dynamicsUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 326 : 1 : = dynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 327 : 1 : uint32_t dynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 328 : : std::numeric_limits<uint32_t>::max()}; 329 : : dynamicsUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 330 : 1 : = dynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 331 : 1 : uint32_t dynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 332 : : std::numeric_limits<uint32_t>::max()}; 333 : : dynamicsUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 334 : 1 : = dynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 335 : 1 : dynamics.unstructuredSettings = dynamicsUnstructuredSettings; 336 : 1 : valueA.dynamics = dynamics; 337 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 338 : : 339 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 340 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 341 : 1 : } 342 : : 343 : 2 : TEST_F(VehicleStateTests, comparisonOperatorHasPriorityDiffers) 344 : : { 345 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 346 : 1 : bool hasPriority{false}; 347 : 1 : valueA.hasPriority = hasPriority; 348 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 349 : : 350 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 351 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 352 : 1 : } 353 : : 354 : 2 : TEST_F(VehicleStateTests, comparisonOperatorIsInCorrectLaneDiffers) 355 : : { 356 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 357 : 1 : bool isInCorrectLane{false}; 358 : 1 : valueA.isInCorrectLane = isInCorrectLane; 359 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 360 : : 361 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 362 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 363 : 1 : } 364 : : 365 : 2 : TEST_F(VehicleStateTests, comparisonOperatorDistanceToEnterIntersectionDiffers) 366 : : { 367 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 368 : 1 : ::ad::physics::Distance distanceToEnterIntersection(1e9); 369 : 1 : valueA.distanceToEnterIntersection = distanceToEnterIntersection; 370 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 371 : : 372 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 373 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 374 : 1 : } 375 : : 376 : 2 : TEST_F(VehicleStateTests, comparisonOperatorDistanceToLeaveIntersectionDiffers) 377 : : { 378 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 379 : 1 : ::ad::physics::Distance distanceToLeaveIntersection(1e9); 380 : 1 : valueA.distanceToLeaveIntersection = distanceToLeaveIntersection; 381 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 382 : : 383 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 384 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 385 : 1 : } 386 : : 387 : 2 : TEST_F(VehicleStateTests, comparisonOperatorObjectTypeDiffers) 388 : : { 389 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 390 : 1 : ::ad::rss::world::ObjectType objectType(::ad::rss::world::ObjectType::ArtificialObject); 391 : 1 : valueA.objectType = objectType; 392 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 393 : : 394 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 395 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 396 : 1 : } 397 : : 398 : 2 : TEST_F(VehicleStateTests, comparisonOperatorObjectStateDiffers) 399 : : { 400 : 1 : ::ad::rss::situation::VehicleState valueA = mValue; 401 : 1 : ::ad::rss::world::ObjectState objectState; 402 : 1 : ::ad::physics::Angle objectStateYaw(6.283185308); 403 : 1 : objectState.yaw = objectStateYaw; 404 : 1 : ::ad::physics::Dimension2D objectStateDimension; 405 : 1 : ::ad::physics::Distance objectStateDimensionLength(1e9); 406 : 1 : objectStateDimension.length = objectStateDimensionLength; 407 : 1 : ::ad::physics::Distance objectStateDimensionWidth(1e9); 408 : 1 : objectStateDimension.width = objectStateDimensionWidth; 409 : 1 : objectState.dimension = objectStateDimension; 410 : 1 : ::ad::physics::AngularVelocity objectStateYawRate(100.); 411 : 1 : objectState.yawRate = objectStateYawRate; 412 : 1 : ::ad::physics::Distance2D objectStateCenterPoint; 413 : 1 : ::ad::physics::Distance objectStateCenterPointX(1e9); 414 : 1 : objectStateCenterPoint.x = objectStateCenterPointX; 415 : 1 : ::ad::physics::Distance objectStateCenterPointY(1e9); 416 : 1 : objectStateCenterPoint.y = objectStateCenterPointY; 417 : 1 : objectState.centerPoint = objectStateCenterPoint; 418 : 1 : ::ad::physics::Speed objectStateSpeed(100.); 419 : 1 : objectState.speed = objectStateSpeed; 420 : 1 : ::ad::physics::Angle objectStateSteeringAngle(6.283185308); 421 : 1 : objectState.steeringAngle = objectStateSteeringAngle; 422 : 1 : valueA.objectState = objectState; 423 : 1 : ::ad::rss::situation::VehicleState valueB = mValue; 424 : : 425 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 426 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 427 : 1 : } 428 : : 429 : : #if defined(__clang__) && (__clang_major__ >= 7) 430 : : #pragma GCC diagnostic pop 431 : : #endif