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 : : #include <gtest/gtest.h> 16 : : 17 : : #include <limits> 18 : : 19 : : #include "ad/rss/world/RssDynamicsValidInputRange.hpp" 20 : : 21 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRange) 22 : : { 23 : 1 : ::ad::rss::world::RssDynamics value; 24 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 25 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 26 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 27 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 28 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 29 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 30 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 31 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 32 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 33 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 34 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 35 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 36 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 37 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 38 : 1 : value.alphaLon = valueAlphaLon; 39 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 40 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 41 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 42 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 43 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 44 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 45 : 1 : value.alphaLat = valueAlphaLat; 46 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 47 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 48 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 49 : 1 : ::ad::physics::Duration valueResponseTime(0.); 50 : : valueResponseTime 51 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 52 : 1 : value.responseTime = valueResponseTime; 53 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 54 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 55 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 56 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 57 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 58 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 59 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 60 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 61 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 62 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 63 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 64 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 65 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 66 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 67 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 68 : : std::numeric_limits<uint32_t>::min()}; 69 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 70 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 71 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 72 : : std::numeric_limits<uint32_t>::min()}; 73 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 74 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 75 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 76 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 77 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 78 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 79 : : std::numeric_limits<uint32_t>::min()}; 80 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 81 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 82 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 83 : : std::numeric_limits<uint32_t>::min()}; 84 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 85 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 86 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 87 : : std::numeric_limits<uint32_t>::min()}; 88 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 89 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 90 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 91 : : std::numeric_limits<uint32_t>::min()}; 92 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 93 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 94 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 95 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 96 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 97 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 98 : : std::numeric_limits<uint32_t>::min()}; 99 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 100 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 101 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 102 : : std::numeric_limits<uint32_t>::min()}; 103 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 104 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 105 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 106 [ + - - + : 1 : ASSERT_TRUE(withinValidInputRange(value)); - - - - - - - - ] 107 : : } 108 : : 109 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlphaLonTooSmall) 110 : : { 111 : 1 : ::ad::rss::world::RssDynamics value; 112 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 113 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 114 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 115 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 116 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 117 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 118 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 119 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 120 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 121 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 122 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 123 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 124 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 125 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 126 : 1 : value.alphaLon = valueAlphaLon; 127 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 128 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 129 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 130 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 131 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 132 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 133 : 1 : value.alphaLat = valueAlphaLat; 134 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 135 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 136 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 137 : 1 : ::ad::physics::Duration valueResponseTime(0.); 138 : : valueResponseTime 139 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 140 : 1 : value.responseTime = valueResponseTime; 141 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 142 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 143 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 144 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 145 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 146 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 147 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 148 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 149 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 150 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 151 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 152 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 153 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 154 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 155 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 156 : : std::numeric_limits<uint32_t>::min()}; 157 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 158 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 159 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 160 : : std::numeric_limits<uint32_t>::min()}; 161 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 162 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 163 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 164 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 165 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 166 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 167 : : std::numeric_limits<uint32_t>::min()}; 168 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 169 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 170 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 171 : : std::numeric_limits<uint32_t>::min()}; 172 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 173 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 174 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 175 : : std::numeric_limits<uint32_t>::min()}; 176 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 177 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 178 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 179 : : std::numeric_limits<uint32_t>::min()}; 180 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 181 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 182 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 183 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 184 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 185 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 186 : : std::numeric_limits<uint32_t>::min()}; 187 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 188 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 189 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 190 : : std::numeric_limits<uint32_t>::min()}; 191 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 192 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 193 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 194 : : 195 : : // override member with data type value below input range minimum 196 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues invalidInitializedMember; 197 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccelMax(-1e2 * 1.1); 198 : 1 : invalidInitializedMember.accelMax = invalidInitializedMemberAccelMax; 199 : 1 : value.alphaLon = invalidInitializedMember; 200 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 201 : : } 202 : : 203 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlphaLonTooBig) 204 : : { 205 : 1 : ::ad::rss::world::RssDynamics value; 206 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 207 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 208 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 209 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 210 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 211 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 212 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 213 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 214 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 215 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 216 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 217 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 218 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 219 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 220 : 1 : value.alphaLon = valueAlphaLon; 221 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 222 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 223 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 224 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 225 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 226 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 227 : 1 : value.alphaLat = valueAlphaLat; 228 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 229 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 230 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 231 : 1 : ::ad::physics::Duration valueResponseTime(0.); 232 : : valueResponseTime 233 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 234 : 1 : value.responseTime = valueResponseTime; 235 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 236 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 237 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 238 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 239 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 240 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 241 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 242 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 243 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 244 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 245 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 246 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 247 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 248 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 249 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 250 : : std::numeric_limits<uint32_t>::min()}; 251 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 252 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 253 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 254 : : std::numeric_limits<uint32_t>::min()}; 255 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 256 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 257 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 258 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 259 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 260 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 261 : : std::numeric_limits<uint32_t>::min()}; 262 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 263 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 264 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 265 : : std::numeric_limits<uint32_t>::min()}; 266 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 267 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 268 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 269 : : std::numeric_limits<uint32_t>::min()}; 270 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 271 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 272 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 273 : : std::numeric_limits<uint32_t>::min()}; 274 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 275 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 276 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 277 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 278 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 279 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 280 : : std::numeric_limits<uint32_t>::min()}; 281 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 282 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 283 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 284 : : std::numeric_limits<uint32_t>::min()}; 285 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 286 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 287 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 288 : : 289 : : // override member with data type value above input range maximum 290 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues invalidInitializedMember; 291 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccelMax(1e2 * 1.1); 292 : 1 : invalidInitializedMember.accelMax = invalidInitializedMemberAccelMax; 293 : 1 : value.alphaLon = invalidInitializedMember; 294 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 295 : : } 296 : : 297 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlphaLatTooSmall) 298 : : { 299 : 1 : ::ad::rss::world::RssDynamics value; 300 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 301 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 302 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 303 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 304 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 305 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 306 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 307 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 308 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 309 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 310 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 311 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 312 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 313 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 314 : 1 : value.alphaLon = valueAlphaLon; 315 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 316 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 317 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 318 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 319 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 320 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 321 : 1 : value.alphaLat = valueAlphaLat; 322 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 323 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 324 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 325 : 1 : ::ad::physics::Duration valueResponseTime(0.); 326 : : valueResponseTime 327 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 328 : 1 : value.responseTime = valueResponseTime; 329 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 330 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 331 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 332 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 333 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 334 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 335 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 336 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 337 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 338 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 339 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 340 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 341 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 342 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 343 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 344 : : std::numeric_limits<uint32_t>::min()}; 345 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 346 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 347 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 348 : : std::numeric_limits<uint32_t>::min()}; 349 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 350 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 351 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 352 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 353 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 354 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 355 : : std::numeric_limits<uint32_t>::min()}; 356 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 357 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 358 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 359 : : std::numeric_limits<uint32_t>::min()}; 360 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 361 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 362 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 363 : : std::numeric_limits<uint32_t>::min()}; 364 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 365 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 366 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 367 : : std::numeric_limits<uint32_t>::min()}; 368 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 369 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 370 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 371 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 372 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 373 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 374 : : std::numeric_limits<uint32_t>::min()}; 375 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 376 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 377 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 378 : : std::numeric_limits<uint32_t>::min()}; 379 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 380 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 381 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 382 : : 383 : : // override member with data type value below input range minimum 384 : 1 : ::ad::rss::world::LateralRssAccelerationValues invalidInitializedMember; 385 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccelMax(-1e2 * 1.1); 386 : 1 : invalidInitializedMember.accelMax = invalidInitializedMemberAccelMax; 387 : 1 : value.alphaLat = invalidInitializedMember; 388 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 389 : : } 390 : : 391 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlphaLatTooBig) 392 : : { 393 : 1 : ::ad::rss::world::RssDynamics value; 394 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 395 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 396 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 397 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 398 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 399 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 400 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 401 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 402 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 403 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 404 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 405 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 406 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 407 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 408 : 1 : value.alphaLon = valueAlphaLon; 409 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 410 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 411 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 412 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 413 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 414 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 415 : 1 : value.alphaLat = valueAlphaLat; 416 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 417 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 418 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 419 : 1 : ::ad::physics::Duration valueResponseTime(0.); 420 : : valueResponseTime 421 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 422 : 1 : value.responseTime = valueResponseTime; 423 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 424 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 425 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 426 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 427 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 428 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 429 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 430 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 431 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 432 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 433 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 434 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 435 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 436 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 437 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 438 : : std::numeric_limits<uint32_t>::min()}; 439 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 440 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 441 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 442 : : std::numeric_limits<uint32_t>::min()}; 443 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 444 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 445 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 446 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 447 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 448 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 449 : : std::numeric_limits<uint32_t>::min()}; 450 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 451 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 452 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 453 : : std::numeric_limits<uint32_t>::min()}; 454 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 455 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 456 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 457 : : std::numeric_limits<uint32_t>::min()}; 458 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 459 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 460 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 461 : : std::numeric_limits<uint32_t>::min()}; 462 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 463 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 464 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 465 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 466 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 467 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 468 : : std::numeric_limits<uint32_t>::min()}; 469 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 470 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 471 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 472 : : std::numeric_limits<uint32_t>::min()}; 473 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 474 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 475 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 476 : : 477 : : // override member with data type value above input range maximum 478 : 1 : ::ad::rss::world::LateralRssAccelerationValues invalidInitializedMember; 479 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccelMax(1e2 * 1.1); 480 : 1 : invalidInitializedMember.accelMax = invalidInitializedMemberAccelMax; 481 : 1 : value.alphaLat = invalidInitializedMember; 482 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 483 : : } 484 : : 485 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeLateralFluctuationMarginTooSmall) 486 : : { 487 : 1 : ::ad::rss::world::RssDynamics value; 488 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 489 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 490 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 491 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 492 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 493 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 494 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 495 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 496 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 497 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 498 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 499 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 500 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 501 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 502 : 1 : value.alphaLon = valueAlphaLon; 503 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 504 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 505 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 506 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 507 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 508 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 509 : 1 : value.alphaLat = valueAlphaLat; 510 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 511 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 512 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 513 : 1 : ::ad::physics::Duration valueResponseTime(0.); 514 : : valueResponseTime 515 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 516 : 1 : value.responseTime = valueResponseTime; 517 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 518 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 519 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 520 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 521 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 522 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 523 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 524 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 525 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 526 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 527 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 528 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 529 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 530 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 531 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 532 : : std::numeric_limits<uint32_t>::min()}; 533 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 534 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 535 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 536 : : std::numeric_limits<uint32_t>::min()}; 537 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 538 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 539 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 540 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 541 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 542 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 543 : : std::numeric_limits<uint32_t>::min()}; 544 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 545 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 546 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 547 : : std::numeric_limits<uint32_t>::min()}; 548 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 549 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 550 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 551 : : std::numeric_limits<uint32_t>::min()}; 552 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 553 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 554 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 555 : : std::numeric_limits<uint32_t>::min()}; 556 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 557 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 558 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 559 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 560 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 561 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 562 : : std::numeric_limits<uint32_t>::min()}; 563 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 564 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 565 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 566 : : std::numeric_limits<uint32_t>::min()}; 567 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 568 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 569 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 570 : : 571 : : // override member with data type value below input range minimum 572 : 1 : ::ad::physics::Distance invalidInitializedMember(-1e9 * 1.1); 573 : 1 : value.lateralFluctuationMargin = invalidInitializedMember; 574 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 575 : : 576 : : // override member with value below struct member input range minimum 577 : : invalidInitializedMember 578 : 1 : = ::ad::physics::Distance(0. - ::ad::physics::Distance::cPrecisionValue); // set to invalid value within struct 579 : 1 : value.lateralFluctuationMargin = invalidInitializedMember; 580 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 581 : : } 582 : : 583 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeLateralFluctuationMarginTooBig) 584 : : { 585 : 1 : ::ad::rss::world::RssDynamics value; 586 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 587 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 588 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 589 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 590 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 591 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 592 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 593 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 594 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 595 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 596 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 597 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 598 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 599 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 600 : 1 : value.alphaLon = valueAlphaLon; 601 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 602 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 603 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 604 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 605 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 606 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 607 : 1 : value.alphaLat = valueAlphaLat; 608 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 609 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 610 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 611 : 1 : ::ad::physics::Duration valueResponseTime(0.); 612 : : valueResponseTime 613 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 614 : 1 : value.responseTime = valueResponseTime; 615 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 616 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 617 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 618 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 619 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 620 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 621 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 622 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 623 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 624 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 625 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 626 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 627 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 628 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 629 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 630 : : std::numeric_limits<uint32_t>::min()}; 631 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 632 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 633 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 634 : : std::numeric_limits<uint32_t>::min()}; 635 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 636 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 637 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 638 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 639 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 640 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 641 : : std::numeric_limits<uint32_t>::min()}; 642 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 643 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 644 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 645 : : std::numeric_limits<uint32_t>::min()}; 646 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 647 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 648 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 649 : : std::numeric_limits<uint32_t>::min()}; 650 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 651 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 652 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 653 : : std::numeric_limits<uint32_t>::min()}; 654 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 655 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 656 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 657 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 658 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 659 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 660 : : std::numeric_limits<uint32_t>::min()}; 661 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 662 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 663 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 664 : : std::numeric_limits<uint32_t>::min()}; 665 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 666 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 667 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 668 : : 669 : : // override member with data type value above input range maximum 670 : 1 : ::ad::physics::Distance invalidInitializedMember(1e9 * 1.1); 671 : 1 : value.lateralFluctuationMargin = invalidInitializedMember; 672 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 673 : : 674 : : // override member with value above struct member input range maximum 675 : 1 : invalidInitializedMember = ::ad::physics::Distance(1. * 1.1); // set to invalid value within struct 676 : 1 : value.lateralFluctuationMargin = invalidInitializedMember; 677 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 678 : : } 679 : : 680 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangelateralFluctuationMarginDefault) 681 : : { 682 : 1 : ::ad::rss::world::RssDynamics value; 683 : 1 : ::ad::physics::Distance valueDefault; 684 : 1 : value.lateralFluctuationMargin = valueDefault; 685 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 686 : : } 687 : : 688 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeResponseTimeTooSmall) 689 : : { 690 : 1 : ::ad::rss::world::RssDynamics value; 691 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 692 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 693 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 694 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 695 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 696 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 697 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 698 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 699 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 700 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 701 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 702 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 703 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 704 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 705 : 1 : value.alphaLon = valueAlphaLon; 706 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 707 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 708 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 709 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 710 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 711 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 712 : 1 : value.alphaLat = valueAlphaLat; 713 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 714 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 715 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 716 : 1 : ::ad::physics::Duration valueResponseTime(0.); 717 : : valueResponseTime 718 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 719 : 1 : value.responseTime = valueResponseTime; 720 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 721 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 722 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 723 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 724 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 725 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 726 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 727 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 728 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 729 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 730 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 731 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 732 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 733 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 734 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 735 : : std::numeric_limits<uint32_t>::min()}; 736 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 737 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 738 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 739 : : std::numeric_limits<uint32_t>::min()}; 740 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 741 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 742 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 743 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 744 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 745 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 746 : : std::numeric_limits<uint32_t>::min()}; 747 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 748 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 749 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 750 : : std::numeric_limits<uint32_t>::min()}; 751 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 752 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 753 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 754 : : std::numeric_limits<uint32_t>::min()}; 755 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 756 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 757 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 758 : : std::numeric_limits<uint32_t>::min()}; 759 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 760 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 761 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 762 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 763 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 764 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 765 : : std::numeric_limits<uint32_t>::min()}; 766 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 767 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 768 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 769 : : std::numeric_limits<uint32_t>::min()}; 770 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 771 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 772 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 773 : : 774 : : // override member with data type value below input range minimum 775 : 1 : ::ad::physics::Duration invalidInitializedMember(0. - ::ad::physics::Duration::cPrecisionValue); 776 : 1 : value.responseTime = invalidInitializedMember; 777 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 778 : : 779 : : // override member with value below struct member input range minimum 780 : 1 : invalidInitializedMember = ::ad::physics::Duration(0.); // set to valid value within struct 781 : 1 : value.responseTime = invalidInitializedMember; 782 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 783 : : } 784 : : 785 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeResponseTimeTooBig) 786 : : { 787 : 1 : ::ad::rss::world::RssDynamics value; 788 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 789 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 790 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 791 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 792 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 793 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 794 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 795 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 796 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 797 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 798 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 799 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 800 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 801 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 802 : 1 : value.alphaLon = valueAlphaLon; 803 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 804 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 805 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 806 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 807 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 808 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 809 : 1 : value.alphaLat = valueAlphaLat; 810 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 811 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 812 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 813 : 1 : ::ad::physics::Duration valueResponseTime(0.); 814 : : valueResponseTime 815 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 816 : 1 : value.responseTime = valueResponseTime; 817 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 818 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 819 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 820 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 821 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 822 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 823 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 824 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 825 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 826 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 827 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 828 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 829 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 830 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 831 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 832 : : std::numeric_limits<uint32_t>::min()}; 833 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 834 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 835 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 836 : : std::numeric_limits<uint32_t>::min()}; 837 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 838 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 839 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 840 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 841 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 842 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 843 : : std::numeric_limits<uint32_t>::min()}; 844 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 845 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 846 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 847 : : std::numeric_limits<uint32_t>::min()}; 848 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 849 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 850 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 851 : : std::numeric_limits<uint32_t>::min()}; 852 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 853 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 854 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 855 : : std::numeric_limits<uint32_t>::min()}; 856 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 857 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 858 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 859 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 860 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 861 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 862 : : std::numeric_limits<uint32_t>::min()}; 863 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 864 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 865 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 866 : : std::numeric_limits<uint32_t>::min()}; 867 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 868 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 869 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 870 : : 871 : : // override member with data type value above input range maximum 872 : 1 : ::ad::physics::Duration invalidInitializedMember(1e6 * 1.1); 873 : 1 : value.responseTime = invalidInitializedMember; 874 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 875 : : 876 : : // override member with value above struct member input range maximum 877 : 1 : invalidInitializedMember = ::ad::physics::Duration(10. * 1.1); // set to invalid value within struct 878 : 1 : value.responseTime = invalidInitializedMember; 879 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 880 : : } 881 : : 882 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeresponseTimeDefault) 883 : : { 884 : 1 : ::ad::rss::world::RssDynamics value; 885 : 1 : ::ad::physics::Duration valueDefault; 886 : 1 : value.responseTime = valueDefault; 887 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 888 : : } 889 : : 890 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeMaxSpeedOnAccelerationTooSmall) 891 : : { 892 : 1 : ::ad::rss::world::RssDynamics value; 893 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 894 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 895 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 896 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 897 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 898 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 899 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 900 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 901 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 902 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 903 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 904 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 905 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 906 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 907 : 1 : value.alphaLon = valueAlphaLon; 908 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 909 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 910 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 911 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 912 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 913 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 914 : 1 : value.alphaLat = valueAlphaLat; 915 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 916 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 917 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 918 : 1 : ::ad::physics::Duration valueResponseTime(0.); 919 : : valueResponseTime 920 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 921 : 1 : value.responseTime = valueResponseTime; 922 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 923 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 924 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 925 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 926 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 927 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 928 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 929 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 930 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 931 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 932 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 933 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 934 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 935 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 936 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 937 : : std::numeric_limits<uint32_t>::min()}; 938 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 939 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 940 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 941 : : std::numeric_limits<uint32_t>::min()}; 942 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 943 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 944 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 945 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 946 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 947 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 948 : : std::numeric_limits<uint32_t>::min()}; 949 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 950 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 951 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 952 : : std::numeric_limits<uint32_t>::min()}; 953 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 954 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 955 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 956 : : std::numeric_limits<uint32_t>::min()}; 957 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 958 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 959 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 960 : : std::numeric_limits<uint32_t>::min()}; 961 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 962 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 963 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 964 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 965 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 966 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 967 : : std::numeric_limits<uint32_t>::min()}; 968 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 969 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 970 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 971 : : std::numeric_limits<uint32_t>::min()}; 972 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 973 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 974 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 975 : : 976 : : // override member with data type value below input range minimum 977 : 1 : ::ad::physics::Speed invalidInitializedMember(-100. * 1.1); 978 : 1 : value.maxSpeedOnAcceleration = invalidInitializedMember; 979 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 980 : : } 981 : : 982 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeMaxSpeedOnAccelerationTooBig) 983 : : { 984 : 1 : ::ad::rss::world::RssDynamics value; 985 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 986 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 987 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 988 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 989 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 990 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 991 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 992 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 993 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 994 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 995 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 996 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 997 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 998 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 999 : 1 : value.alphaLon = valueAlphaLon; 1000 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 1001 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 1002 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 1003 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 1004 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 1005 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 1006 : 1 : value.alphaLat = valueAlphaLat; 1007 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 1008 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 1009 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 1010 : 1 : ::ad::physics::Duration valueResponseTime(0.); 1011 : : valueResponseTime 1012 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1013 : 1 : value.responseTime = valueResponseTime; 1014 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 1015 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 1016 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 1017 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 1018 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 1019 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 1020 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 1021 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 1022 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 1023 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 1024 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 1025 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 1026 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 1027 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 1028 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 1029 : : std::numeric_limits<uint32_t>::min()}; 1030 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 1031 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 1032 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 1033 : : std::numeric_limits<uint32_t>::min()}; 1034 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 1035 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 1036 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 1037 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 1038 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 1039 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 1040 : : std::numeric_limits<uint32_t>::min()}; 1041 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 1042 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 1043 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 1044 : : std::numeric_limits<uint32_t>::min()}; 1045 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 1046 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 1047 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 1048 : : std::numeric_limits<uint32_t>::min()}; 1049 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 1050 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 1051 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 1052 : : std::numeric_limits<uint32_t>::min()}; 1053 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 1054 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 1055 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 1056 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 1057 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 1058 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 1059 : : std::numeric_limits<uint32_t>::min()}; 1060 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 1061 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 1062 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 1063 : : std::numeric_limits<uint32_t>::min()}; 1064 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 1065 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 1066 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 1067 : : 1068 : : // override member with data type value above input range maximum 1069 : 1 : ::ad::physics::Speed invalidInitializedMember(100. * 1.1); 1070 : 1 : value.maxSpeedOnAcceleration = invalidInitializedMember; 1071 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 1072 : : } 1073 : : 1074 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangemaxSpeedOnAccelerationDefault) 1075 : : { 1076 : 1 : ::ad::rss::world::RssDynamics value; 1077 : 1 : ::ad::physics::Speed valueDefault; 1078 : 1 : value.maxSpeedOnAcceleration = valueDefault; 1079 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 1080 : : } 1081 : : 1082 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeUnstructuredSettingsTooSmall) 1083 : : { 1084 : 1 : ::ad::rss::world::RssDynamics value; 1085 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 1086 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 1087 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 1088 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 1089 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 1090 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 1091 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 1092 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 1093 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 1094 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 1095 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 1096 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 1097 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 1098 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 1099 : 1 : value.alphaLon = valueAlphaLon; 1100 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 1101 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 1102 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 1103 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 1104 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 1105 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 1106 : 1 : value.alphaLat = valueAlphaLat; 1107 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 1108 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 1109 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 1110 : 1 : ::ad::physics::Duration valueResponseTime(0.); 1111 : : valueResponseTime 1112 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1113 : 1 : value.responseTime = valueResponseTime; 1114 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 1115 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 1116 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 1117 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 1118 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 1119 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 1120 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 1121 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 1122 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 1123 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 1124 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 1125 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 1126 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 1127 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 1128 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 1129 : : std::numeric_limits<uint32_t>::min()}; 1130 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 1131 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 1132 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 1133 : : std::numeric_limits<uint32_t>::min()}; 1134 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 1135 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 1136 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 1137 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 1138 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 1139 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 1140 : : std::numeric_limits<uint32_t>::min()}; 1141 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 1142 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 1143 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 1144 : : std::numeric_limits<uint32_t>::min()}; 1145 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 1146 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 1147 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 1148 : : std::numeric_limits<uint32_t>::min()}; 1149 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 1150 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 1151 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 1152 : : std::numeric_limits<uint32_t>::min()}; 1153 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 1154 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 1155 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 1156 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 1157 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 1158 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 1159 : : std::numeric_limits<uint32_t>::min()}; 1160 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 1161 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 1162 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 1163 : : std::numeric_limits<uint32_t>::min()}; 1164 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 1165 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 1166 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 1167 : : 1168 : : // override member with data type value below input range minimum 1169 : 1 : ::ad::rss::world::UnstructuredSettings invalidInitializedMember; 1170 : 1 : ::ad::physics::Distance invalidInitializedMemberPedestrianTurningRadius(-1e9 * 1.1); 1171 : 1 : invalidInitializedMember.pedestrianTurningRadius = invalidInitializedMemberPedestrianTurningRadius; 1172 : 1 : value.unstructuredSettings = invalidInitializedMember; 1173 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 1174 : : } 1175 : : 1176 : 2 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeUnstructuredSettingsTooBig) 1177 : : { 1178 : 1 : ::ad::rss::world::RssDynamics value; 1179 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlphaLon; 1180 : 1 : ::ad::physics::Acceleration valueAlphaLonAccelMax(-1e2); 1181 : 1 : valueAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 1182 : 1 : valueAlphaLon.accelMax = valueAlphaLonAccelMax; 1183 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMax(-1e2); 1184 : 1 : valueAlphaLon.brakeMax = valueAlphaLonBrakeMax; 1185 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMin(-1e2); 1186 : 1 : valueAlphaLon.brakeMin = valueAlphaLonBrakeMin; 1187 : 1 : ::ad::physics::Acceleration valueAlphaLonBrakeMinCorrect(-1e2); 1188 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLonBrakeMinCorrect; 1189 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMax; 1190 : 1 : valueAlphaLon.brakeMinCorrect = valueAlphaLon.brakeMin; 1191 : 1 : valueAlphaLon.brakeMin = valueAlphaLon.brakeMinCorrect; 1192 : 1 : valueAlphaLon.brakeMax = valueAlphaLon.brakeMin; 1193 : 1 : value.alphaLon = valueAlphaLon; 1194 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlphaLat; 1195 : 1 : ::ad::physics::Acceleration valueAlphaLatAccelMax(-1e2); 1196 : 1 : valueAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct 1197 : 1 : valueAlphaLat.accelMax = valueAlphaLatAccelMax; 1198 : 1 : ::ad::physics::Acceleration valueAlphaLatBrakeMin(-1e2); 1199 : 1 : valueAlphaLat.brakeMin = valueAlphaLatBrakeMin; 1200 : 1 : value.alphaLat = valueAlphaLat; 1201 : 1 : ::ad::physics::Distance valueLateralFluctuationMargin(-1e9); 1202 : 1 : valueLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct 1203 : 1 : value.lateralFluctuationMargin = valueLateralFluctuationMargin; 1204 : 1 : ::ad::physics::Duration valueResponseTime(0.); 1205 : : valueResponseTime 1206 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1207 : 1 : value.responseTime = valueResponseTime; 1208 : 1 : ::ad::physics::Speed valueMaxSpeedOnAcceleration(-100.); 1209 : 1 : value.maxSpeedOnAcceleration = valueMaxSpeedOnAcceleration; 1210 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructuredSettings; 1211 : 1 : ::ad::physics::Distance valueUnstructuredSettingsPedestrianTurningRadius(-1e9); 1212 : 1 : valueUnstructuredSettings.pedestrianTurningRadius = valueUnstructuredSettingsPedestrianTurningRadius; 1213 : 1 : ::ad::physics::Angle valueUnstructuredSettingsDriveAwayMaxAngle(-6.283185308); 1214 : 1 : valueUnstructuredSettings.driveAwayMaxAngle = valueUnstructuredSettingsDriveAwayMaxAngle; 1215 : 1 : ::ad::physics::AngularAcceleration valueUnstructuredSettingsVehicleYawRateChange(-1e2); 1216 : 1 : valueUnstructuredSettings.vehicleYawRateChange = valueUnstructuredSettingsVehicleYawRateChange; 1217 : 1 : ::ad::physics::Distance valueUnstructuredSettingsVehicleMinRadius(-1e9); 1218 : 1 : valueUnstructuredSettings.vehicleMinRadius = valueUnstructuredSettingsVehicleMinRadius; 1219 : 1 : ::ad::physics::Duration valueUnstructuredSettingsVehicleTrajectoryCalculationStep(0.); 1220 : : valueUnstructuredSettings.vehicleTrajectoryCalculationStep 1221 : 1 : = valueUnstructuredSettingsVehicleTrajectoryCalculationStep; 1222 : 1 : uint32_t valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{ 1223 : : std::numeric_limits<uint32_t>::min()}; 1224 : : valueUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps 1225 : 1 : = valueUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps; 1226 : 1 : uint32_t valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{ 1227 : : std::numeric_limits<uint32_t>::min()}; 1228 : : valueUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps 1229 : 1 : = valueUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps; 1230 : 1 : uint32_t valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 1231 : : valueUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps 1232 : 1 : = valueUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps; 1233 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{ 1234 : : std::numeric_limits<uint32_t>::min()}; 1235 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps 1236 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps; 1237 : 1 : uint32_t valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{ 1238 : : std::numeric_limits<uint32_t>::min()}; 1239 : : valueUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps 1240 : 1 : = valueUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps; 1241 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{ 1242 : : std::numeric_limits<uint32_t>::min()}; 1243 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps 1244 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps; 1245 : 1 : uint32_t valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{ 1246 : : std::numeric_limits<uint32_t>::min()}; 1247 : : valueUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps 1248 : 1 : = valueUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps; 1249 : 1 : uint32_t valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::min()}; 1250 : : valueUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps 1251 : 1 : = valueUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps; 1252 : 1 : uint32_t valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{ 1253 : : std::numeric_limits<uint32_t>::min()}; 1254 : : valueUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps 1255 : 1 : = valueUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps; 1256 : 1 : uint32_t valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{ 1257 : : std::numeric_limits<uint32_t>::min()}; 1258 : : valueUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps 1259 : 1 : = valueUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps; 1260 : 1 : value.unstructuredSettings = valueUnstructuredSettings; 1261 : : 1262 : : // override member with data type value above input range maximum 1263 : 1 : ::ad::rss::world::UnstructuredSettings invalidInitializedMember; 1264 : 1 : ::ad::physics::Distance invalidInitializedMemberPedestrianTurningRadius(1e9 * 1.1); 1265 : 1 : invalidInitializedMember.pedestrianTurningRadius = invalidInitializedMemberPedestrianTurningRadius; 1266 : 1 : value.unstructuredSettings = invalidInitializedMember; 1267 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - ] 1268 : : }