Branch data Line data Source code
1 : : /* 2 : : * ----------------- BEGIN LICENSE BLOCK --------------------------------- 3 : : * 4 : : * Copyright (C) 2018-2022 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 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRange) 22 : : { 23 : 1 : ::ad::rss::world::RssDynamics value; 24 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 25 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 26 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 27 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 28 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 29 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 30 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 31 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 32 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 33 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 34 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 35 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 36 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 37 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 38 : 1 : value.alpha_lon = valueAlpha_lon; 39 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 40 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 41 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 42 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 43 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 44 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 45 : 1 : value.alpha_lat = valueAlpha_lat; 46 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 47 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 48 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 49 : 1 : ::ad::physics::Duration valueResponse_time(0.); 50 : : valueResponse_time 51 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 52 : 1 : value.response_time = valueResponse_time; 53 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 54 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 55 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 56 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 57 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 58 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 59 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 60 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 61 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 62 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 63 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 64 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 65 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 66 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 67 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 68 : : std::numeric_limits<uint32_t>::min()}; 69 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 70 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 71 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 72 : : std::numeric_limits<uint32_t>::min()}; 73 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 74 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 75 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 76 : : std::numeric_limits<uint32_t>::min()}; 77 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 78 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 79 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 80 : : std::numeric_limits<uint32_t>::min()}; 81 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 82 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 83 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 84 : : std::numeric_limits<uint32_t>::min()}; 85 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 86 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 87 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 88 : : std::numeric_limits<uint32_t>::min()}; 89 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 90 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 91 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 92 : : std::numeric_limits<uint32_t>::min()}; 93 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 94 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 95 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 96 : : std::numeric_limits<uint32_t>::min()}; 97 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 98 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 99 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 100 : : std::numeric_limits<uint32_t>::min()}; 101 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 102 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 103 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 104 : : std::numeric_limits<uint32_t>::min()}; 105 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 106 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 107 : 1 : value.unstructured_settings = valueUnstructured_settings; 108 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 109 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 110 [ + - - + : 1 : ASSERT_TRUE(withinValidInputRange(value)); - - - - - - - - + - ] 111 : : } 112 : : 113 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlpha_lonTooSmall) 114 : : { 115 : 1 : ::ad::rss::world::RssDynamics value; 116 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 117 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 118 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 119 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 120 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 121 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 122 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 123 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 124 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 125 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 126 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 127 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 128 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 129 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 130 : 1 : value.alpha_lon = valueAlpha_lon; 131 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 132 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 133 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 134 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 135 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 136 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 137 : 1 : value.alpha_lat = valueAlpha_lat; 138 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 139 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 140 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 141 : 1 : ::ad::physics::Duration valueResponse_time(0.); 142 : : valueResponse_time 143 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 144 : 1 : value.response_time = valueResponse_time; 145 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 146 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 147 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 148 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 149 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 150 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 151 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 152 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 153 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 154 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 155 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 156 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 157 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 158 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 159 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 160 : : std::numeric_limits<uint32_t>::min()}; 161 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 162 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 163 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 164 : : std::numeric_limits<uint32_t>::min()}; 165 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 166 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 167 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 168 : : std::numeric_limits<uint32_t>::min()}; 169 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 170 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 171 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 172 : : std::numeric_limits<uint32_t>::min()}; 173 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 174 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 175 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 176 : : std::numeric_limits<uint32_t>::min()}; 177 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 178 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 179 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 180 : : std::numeric_limits<uint32_t>::min()}; 181 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 182 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 183 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 184 : : std::numeric_limits<uint32_t>::min()}; 185 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 186 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 187 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 188 : : std::numeric_limits<uint32_t>::min()}; 189 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 190 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 191 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 192 : : std::numeric_limits<uint32_t>::min()}; 193 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 194 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 195 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 196 : : std::numeric_limits<uint32_t>::min()}; 197 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 198 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 199 : 1 : value.unstructured_settings = valueUnstructured_settings; 200 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 201 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 202 : : 203 : : // override member with data type value below input range minimum 204 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues invalidInitializedMember; 205 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccel_max(-1e2 * 1.1); 206 : 1 : invalidInitializedMember.accel_max = invalidInitializedMemberAccel_max; 207 : 1 : value.alpha_lon = invalidInitializedMember; 208 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 209 : : } 210 : : 211 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlpha_lonTooBig) 212 : : { 213 : 1 : ::ad::rss::world::RssDynamics value; 214 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 215 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 216 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 217 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 218 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 219 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 220 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 221 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 222 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 223 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 224 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 225 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 226 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 227 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 228 : 1 : value.alpha_lon = valueAlpha_lon; 229 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 230 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 231 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 232 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 233 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 234 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 235 : 1 : value.alpha_lat = valueAlpha_lat; 236 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 237 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 238 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 239 : 1 : ::ad::physics::Duration valueResponse_time(0.); 240 : : valueResponse_time 241 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 242 : 1 : value.response_time = valueResponse_time; 243 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 244 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 245 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 246 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 247 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 248 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 249 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 250 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 251 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 252 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 253 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 254 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 255 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 256 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 257 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 258 : : std::numeric_limits<uint32_t>::min()}; 259 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 260 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 261 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 262 : : std::numeric_limits<uint32_t>::min()}; 263 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 264 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 265 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 266 : : std::numeric_limits<uint32_t>::min()}; 267 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 268 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 269 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 270 : : std::numeric_limits<uint32_t>::min()}; 271 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 272 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 273 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 274 : : std::numeric_limits<uint32_t>::min()}; 275 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 276 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 277 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 278 : : std::numeric_limits<uint32_t>::min()}; 279 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 280 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 281 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 282 : : std::numeric_limits<uint32_t>::min()}; 283 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 284 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 285 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 286 : : std::numeric_limits<uint32_t>::min()}; 287 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 288 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 289 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 290 : : std::numeric_limits<uint32_t>::min()}; 291 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 292 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 293 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 294 : : std::numeric_limits<uint32_t>::min()}; 295 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 296 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 297 : 1 : value.unstructured_settings = valueUnstructured_settings; 298 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 299 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 300 : : 301 : : // override member with data type value above input range maximum 302 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues invalidInitializedMember; 303 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccel_max(1e2 * 1.1); 304 : 1 : invalidInitializedMember.accel_max = invalidInitializedMemberAccel_max; 305 : 1 : value.alpha_lon = invalidInitializedMember; 306 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 307 : : } 308 : : 309 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlpha_latTooSmall) 310 : : { 311 : 1 : ::ad::rss::world::RssDynamics value; 312 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 313 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 314 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 315 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 316 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 317 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 318 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 319 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 320 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 321 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 322 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 323 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 324 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 325 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 326 : 1 : value.alpha_lon = valueAlpha_lon; 327 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 328 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 329 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 330 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 331 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 332 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 333 : 1 : value.alpha_lat = valueAlpha_lat; 334 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 335 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 336 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 337 : 1 : ::ad::physics::Duration valueResponse_time(0.); 338 : : valueResponse_time 339 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 340 : 1 : value.response_time = valueResponse_time; 341 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 342 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 343 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 344 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 345 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 346 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 347 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 348 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 349 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 350 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 351 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 352 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 353 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 354 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 355 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 356 : : std::numeric_limits<uint32_t>::min()}; 357 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 358 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 359 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 360 : : std::numeric_limits<uint32_t>::min()}; 361 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 362 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 363 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 364 : : std::numeric_limits<uint32_t>::min()}; 365 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 366 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 367 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 368 : : std::numeric_limits<uint32_t>::min()}; 369 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 370 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 371 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 372 : : std::numeric_limits<uint32_t>::min()}; 373 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 374 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 375 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 376 : : std::numeric_limits<uint32_t>::min()}; 377 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 378 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 379 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 380 : : std::numeric_limits<uint32_t>::min()}; 381 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 382 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 383 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 384 : : std::numeric_limits<uint32_t>::min()}; 385 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 386 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 387 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 388 : : std::numeric_limits<uint32_t>::min()}; 389 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 390 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 391 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 392 : : std::numeric_limits<uint32_t>::min()}; 393 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 394 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 395 : 1 : value.unstructured_settings = valueUnstructured_settings; 396 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 397 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 398 : : 399 : : // override member with data type value below input range minimum 400 : 1 : ::ad::rss::world::LateralRssAccelerationValues invalidInitializedMember; 401 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccel_max(-1e2 * 1.1); 402 : 1 : invalidInitializedMember.accel_max = invalidInitializedMemberAccel_max; 403 : 1 : value.alpha_lat = invalidInitializedMember; 404 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 405 : : } 406 : : 407 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeAlpha_latTooBig) 408 : : { 409 : 1 : ::ad::rss::world::RssDynamics value; 410 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 411 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 412 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 413 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 414 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 415 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 416 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 417 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 418 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 419 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 420 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 421 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 422 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 423 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 424 : 1 : value.alpha_lon = valueAlpha_lon; 425 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 426 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 427 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 428 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 429 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 430 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 431 : 1 : value.alpha_lat = valueAlpha_lat; 432 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 433 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 434 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 435 : 1 : ::ad::physics::Duration valueResponse_time(0.); 436 : : valueResponse_time 437 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 438 : 1 : value.response_time = valueResponse_time; 439 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 440 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 441 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 442 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 443 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 444 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 445 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 446 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 447 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 448 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 449 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 450 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 451 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 452 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 453 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 454 : : std::numeric_limits<uint32_t>::min()}; 455 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 456 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 457 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 458 : : std::numeric_limits<uint32_t>::min()}; 459 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 460 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 461 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 462 : : std::numeric_limits<uint32_t>::min()}; 463 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 464 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 465 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 466 : : std::numeric_limits<uint32_t>::min()}; 467 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 468 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 469 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 470 : : std::numeric_limits<uint32_t>::min()}; 471 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 472 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 473 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 474 : : std::numeric_limits<uint32_t>::min()}; 475 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 476 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 477 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 478 : : std::numeric_limits<uint32_t>::min()}; 479 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 480 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 481 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 482 : : std::numeric_limits<uint32_t>::min()}; 483 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 484 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 485 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 486 : : std::numeric_limits<uint32_t>::min()}; 487 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 488 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 489 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 490 : : std::numeric_limits<uint32_t>::min()}; 491 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 492 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 493 : 1 : value.unstructured_settings = valueUnstructured_settings; 494 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 495 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 496 : : 497 : : // override member with data type value above input range maximum 498 : 1 : ::ad::rss::world::LateralRssAccelerationValues invalidInitializedMember; 499 : 1 : ::ad::physics::Acceleration invalidInitializedMemberAccel_max(1e2 * 1.1); 500 : 1 : invalidInitializedMember.accel_max = invalidInitializedMemberAccel_max; 501 : 1 : value.alpha_lat = invalidInitializedMember; 502 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 503 : : } 504 : : 505 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeLateral_fluctuation_marginTooSmall) 506 : : { 507 : 1 : ::ad::rss::world::RssDynamics value; 508 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 509 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 510 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 511 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 512 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 513 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 514 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 515 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 516 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 517 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 518 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 519 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 520 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 521 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 522 : 1 : value.alpha_lon = valueAlpha_lon; 523 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 524 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 525 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 526 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 527 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 528 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 529 : 1 : value.alpha_lat = valueAlpha_lat; 530 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 531 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 532 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 533 : 1 : ::ad::physics::Duration valueResponse_time(0.); 534 : : valueResponse_time 535 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 536 : 1 : value.response_time = valueResponse_time; 537 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 538 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 539 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 540 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 541 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 542 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 543 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 544 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 545 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 546 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 547 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 548 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 549 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 550 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 551 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 552 : : std::numeric_limits<uint32_t>::min()}; 553 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 554 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 555 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 556 : : std::numeric_limits<uint32_t>::min()}; 557 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 558 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 559 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 560 : : std::numeric_limits<uint32_t>::min()}; 561 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 562 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 563 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 564 : : std::numeric_limits<uint32_t>::min()}; 565 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 566 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 567 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 568 : : std::numeric_limits<uint32_t>::min()}; 569 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 570 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 571 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 572 : : std::numeric_limits<uint32_t>::min()}; 573 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 574 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 575 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 576 : : std::numeric_limits<uint32_t>::min()}; 577 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 578 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 579 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 580 : : std::numeric_limits<uint32_t>::min()}; 581 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 582 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 583 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 584 : : std::numeric_limits<uint32_t>::min()}; 585 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 586 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 587 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 588 : : std::numeric_limits<uint32_t>::min()}; 589 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 590 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 591 : 1 : value.unstructured_settings = valueUnstructured_settings; 592 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 593 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 594 : : 595 : : // override member with data type value below input range minimum 596 : 1 : ::ad::physics::Distance invalidInitializedMember(-1e9 * 1.1); 597 : 1 : value.lateral_fluctuation_margin = invalidInitializedMember; 598 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 599 : : 600 : : // override member with value below struct member input range minimum 601 : : invalidInitializedMember 602 : 1 : = ::ad::physics::Distance(0. - ::ad::physics::Distance::cPrecisionValue); // set to invalid value within struct 603 : 1 : value.lateral_fluctuation_margin = invalidInitializedMember; 604 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 605 : : } 606 : : 607 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeLateral_fluctuation_marginTooBig) 608 : : { 609 : 1 : ::ad::rss::world::RssDynamics value; 610 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 611 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 612 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 613 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 614 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 615 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 616 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 617 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 618 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 619 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 620 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 621 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 622 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 623 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 624 : 1 : value.alpha_lon = valueAlpha_lon; 625 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 626 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 627 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 628 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 629 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 630 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 631 : 1 : value.alpha_lat = valueAlpha_lat; 632 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 633 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 634 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 635 : 1 : ::ad::physics::Duration valueResponse_time(0.); 636 : : valueResponse_time 637 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 638 : 1 : value.response_time = valueResponse_time; 639 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 640 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 641 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 642 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 643 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 644 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 645 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 646 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 647 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 648 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 649 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 650 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 651 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 652 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 653 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 654 : : std::numeric_limits<uint32_t>::min()}; 655 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 656 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 657 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 658 : : std::numeric_limits<uint32_t>::min()}; 659 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 660 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 661 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 662 : : std::numeric_limits<uint32_t>::min()}; 663 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 664 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 665 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 666 : : std::numeric_limits<uint32_t>::min()}; 667 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 668 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 669 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 670 : : std::numeric_limits<uint32_t>::min()}; 671 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 672 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 673 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 674 : : std::numeric_limits<uint32_t>::min()}; 675 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 676 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 677 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 678 : : std::numeric_limits<uint32_t>::min()}; 679 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 680 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 681 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 682 : : std::numeric_limits<uint32_t>::min()}; 683 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 684 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 685 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 686 : : std::numeric_limits<uint32_t>::min()}; 687 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 688 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 689 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 690 : : std::numeric_limits<uint32_t>::min()}; 691 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 692 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 693 : 1 : value.unstructured_settings = valueUnstructured_settings; 694 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 695 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 696 : : 697 : : // override member with data type value above input range maximum 698 : 1 : ::ad::physics::Distance invalidInitializedMember(1e9 * 1.1); 699 : 1 : value.lateral_fluctuation_margin = invalidInitializedMember; 700 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 701 : : 702 : : // override member with value above struct member input range maximum 703 : 1 : invalidInitializedMember = ::ad::physics::Distance(1. * 1.1); // set to invalid value within struct 704 : 1 : value.lateral_fluctuation_margin = invalidInitializedMember; 705 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 706 : : } 707 : : 708 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangelateral_fluctuation_marginDefault) 709 : : { 710 : 1 : ::ad::rss::world::RssDynamics value; 711 : 1 : ::ad::physics::Distance valueDefault; 712 : 1 : value.lateral_fluctuation_margin = valueDefault; 713 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 714 : : } 715 : : 716 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeResponse_timeTooSmall) 717 : : { 718 : 1 : ::ad::rss::world::RssDynamics value; 719 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 720 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 721 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 722 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 723 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 724 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 725 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 726 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 727 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 728 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 729 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 730 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 731 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 732 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 733 : 1 : value.alpha_lon = valueAlpha_lon; 734 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 735 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 736 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 737 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 738 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 739 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 740 : 1 : value.alpha_lat = valueAlpha_lat; 741 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 742 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 743 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 744 : 1 : ::ad::physics::Duration valueResponse_time(0.); 745 : : valueResponse_time 746 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 747 : 1 : value.response_time = valueResponse_time; 748 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 749 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 750 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 751 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 752 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 753 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 754 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 755 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 756 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 757 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 758 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 759 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 760 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 761 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 762 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 763 : : std::numeric_limits<uint32_t>::min()}; 764 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 765 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 766 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 767 : : std::numeric_limits<uint32_t>::min()}; 768 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 769 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 770 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 771 : : std::numeric_limits<uint32_t>::min()}; 772 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 773 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 774 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 775 : : std::numeric_limits<uint32_t>::min()}; 776 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 777 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 778 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 779 : : std::numeric_limits<uint32_t>::min()}; 780 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 781 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 782 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 783 : : std::numeric_limits<uint32_t>::min()}; 784 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 785 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 786 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 787 : : std::numeric_limits<uint32_t>::min()}; 788 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 789 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 790 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 791 : : std::numeric_limits<uint32_t>::min()}; 792 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 793 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 794 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 795 : : std::numeric_limits<uint32_t>::min()}; 796 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 797 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 798 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 799 : : std::numeric_limits<uint32_t>::min()}; 800 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 801 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 802 : 1 : value.unstructured_settings = valueUnstructured_settings; 803 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 804 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 805 : : 806 : : // override member with data type value below input range minimum 807 : 1 : ::ad::physics::Duration invalidInitializedMember(0. - ::ad::physics::Duration::cPrecisionValue); 808 : 1 : value.response_time = invalidInitializedMember; 809 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 810 : : 811 : : // override member with value below struct member input range minimum 812 : 1 : invalidInitializedMember = ::ad::physics::Duration(0.); // set to valid value within struct 813 : 1 : value.response_time = invalidInitializedMember; 814 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 815 : : } 816 : : 817 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeResponse_timeTooBig) 818 : : { 819 : 1 : ::ad::rss::world::RssDynamics value; 820 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 821 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 822 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 823 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 824 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 825 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 826 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 827 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 828 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 829 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 830 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 831 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 832 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 833 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 834 : 1 : value.alpha_lon = valueAlpha_lon; 835 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 836 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 837 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 838 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 839 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 840 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 841 : 1 : value.alpha_lat = valueAlpha_lat; 842 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 843 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 844 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 845 : 1 : ::ad::physics::Duration valueResponse_time(0.); 846 : : valueResponse_time 847 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 848 : 1 : value.response_time = valueResponse_time; 849 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 850 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 851 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 852 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 853 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 854 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 855 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 856 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 857 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 858 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 859 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 860 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 861 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 862 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 863 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 864 : : std::numeric_limits<uint32_t>::min()}; 865 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 866 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 867 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 868 : : std::numeric_limits<uint32_t>::min()}; 869 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 870 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 871 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 872 : : std::numeric_limits<uint32_t>::min()}; 873 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 874 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 875 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 876 : : std::numeric_limits<uint32_t>::min()}; 877 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 878 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 879 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 880 : : std::numeric_limits<uint32_t>::min()}; 881 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 882 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 883 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 884 : : std::numeric_limits<uint32_t>::min()}; 885 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 886 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 887 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 888 : : std::numeric_limits<uint32_t>::min()}; 889 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 890 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 891 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 892 : : std::numeric_limits<uint32_t>::min()}; 893 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 894 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 895 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 896 : : std::numeric_limits<uint32_t>::min()}; 897 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 898 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 899 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 900 : : std::numeric_limits<uint32_t>::min()}; 901 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 902 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 903 : 1 : value.unstructured_settings = valueUnstructured_settings; 904 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 905 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 906 : : 907 : : // override member with data type value above input range maximum 908 : 1 : ::ad::physics::Duration invalidInitializedMember(1e6 * 1.1); 909 : 1 : value.response_time = invalidInitializedMember; 910 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 911 : : 912 : : // override member with value above struct member input range maximum 913 : 1 : invalidInitializedMember = ::ad::physics::Duration(10. * 1.1); // set to invalid value within struct 914 : 1 : value.response_time = invalidInitializedMember; 915 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 916 : : } 917 : : 918 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeresponse_timeDefault) 919 : : { 920 : 1 : ::ad::rss::world::RssDynamics value; 921 : 1 : ::ad::physics::Duration valueDefault; 922 : 1 : value.response_time = valueDefault; 923 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 924 : : } 925 : : 926 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeMax_speed_on_accelerationTooSmall) 927 : : { 928 : 1 : ::ad::rss::world::RssDynamics value; 929 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 930 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 931 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 932 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 933 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 934 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 935 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 936 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 937 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 938 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 939 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 940 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 941 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 942 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 943 : 1 : value.alpha_lon = valueAlpha_lon; 944 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 945 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 946 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 947 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 948 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 949 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 950 : 1 : value.alpha_lat = valueAlpha_lat; 951 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 952 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 953 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 954 : 1 : ::ad::physics::Duration valueResponse_time(0.); 955 : : valueResponse_time 956 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 957 : 1 : value.response_time = valueResponse_time; 958 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 959 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 960 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 961 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 962 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 963 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 964 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 965 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 966 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 967 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 968 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 969 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 970 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 971 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 972 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 973 : : std::numeric_limits<uint32_t>::min()}; 974 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 975 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 976 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 977 : : std::numeric_limits<uint32_t>::min()}; 978 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 979 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 980 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 981 : : std::numeric_limits<uint32_t>::min()}; 982 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 983 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 984 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 985 : : std::numeric_limits<uint32_t>::min()}; 986 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 987 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 988 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 989 : : std::numeric_limits<uint32_t>::min()}; 990 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 991 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 992 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 993 : : std::numeric_limits<uint32_t>::min()}; 994 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 995 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 996 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 997 : : std::numeric_limits<uint32_t>::min()}; 998 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 999 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 1000 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 1001 : : std::numeric_limits<uint32_t>::min()}; 1002 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 1003 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 1004 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 1005 : : std::numeric_limits<uint32_t>::min()}; 1006 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 1007 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 1008 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 1009 : : std::numeric_limits<uint32_t>::min()}; 1010 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 1011 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 1012 : 1 : value.unstructured_settings = valueUnstructured_settings; 1013 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 1014 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 1015 : : 1016 : : // override member with data type value below input range minimum 1017 : 1 : ::ad::physics::Speed invalidInitializedMember(-100. * 1.1); 1018 : 1 : value.max_speed_on_acceleration = invalidInitializedMember; 1019 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1020 : : } 1021 : : 1022 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeMax_speed_on_accelerationTooBig) 1023 : : { 1024 : 1 : ::ad::rss::world::RssDynamics value; 1025 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 1026 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 1027 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1028 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 1029 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 1030 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 1031 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 1032 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 1033 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 1034 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 1035 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 1036 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 1037 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 1038 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 1039 : 1 : value.alpha_lon = valueAlpha_lon; 1040 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 1041 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 1042 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1043 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 1044 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 1045 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 1046 : 1 : value.alpha_lat = valueAlpha_lat; 1047 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 1048 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 1049 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 1050 : 1 : ::ad::physics::Duration valueResponse_time(0.); 1051 : : valueResponse_time 1052 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1053 : 1 : value.response_time = valueResponse_time; 1054 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 1055 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 1056 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 1057 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 1058 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 1059 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 1060 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 1061 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 1062 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 1063 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 1064 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 1065 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 1066 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 1067 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 1068 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 1069 : : std::numeric_limits<uint32_t>::min()}; 1070 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 1071 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 1072 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 1073 : : std::numeric_limits<uint32_t>::min()}; 1074 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 1075 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 1076 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 1077 : : std::numeric_limits<uint32_t>::min()}; 1078 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 1079 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 1080 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 1081 : : std::numeric_limits<uint32_t>::min()}; 1082 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 1083 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 1084 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 1085 : : std::numeric_limits<uint32_t>::min()}; 1086 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 1087 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 1088 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 1089 : : std::numeric_limits<uint32_t>::min()}; 1090 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 1091 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 1092 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 1093 : : std::numeric_limits<uint32_t>::min()}; 1094 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 1095 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 1096 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 1097 : : std::numeric_limits<uint32_t>::min()}; 1098 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 1099 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 1100 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 1101 : : std::numeric_limits<uint32_t>::min()}; 1102 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 1103 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 1104 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 1105 : : std::numeric_limits<uint32_t>::min()}; 1106 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 1107 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 1108 : 1 : value.unstructured_settings = valueUnstructured_settings; 1109 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 1110 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 1111 : : 1112 : : // override member with data type value above input range maximum 1113 : 1 : ::ad::physics::Speed invalidInitializedMember(100. * 1.1); 1114 : 1 : value.max_speed_on_acceleration = invalidInitializedMember; 1115 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1116 : : } 1117 : : 1118 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangemax_speed_on_accelerationDefault) 1119 : : { 1120 : 1 : ::ad::rss::world::RssDynamics value; 1121 : 1 : ::ad::physics::Speed valueDefault; 1122 : 1 : value.max_speed_on_acceleration = valueDefault; 1123 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1124 : : } 1125 : : 1126 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeUnstructured_settingsTooSmall) 1127 : : { 1128 : 1 : ::ad::rss::world::RssDynamics value; 1129 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 1130 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 1131 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1132 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 1133 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 1134 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 1135 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 1136 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 1137 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 1138 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 1139 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 1140 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 1141 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 1142 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 1143 : 1 : value.alpha_lon = valueAlpha_lon; 1144 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 1145 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 1146 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1147 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 1148 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 1149 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 1150 : 1 : value.alpha_lat = valueAlpha_lat; 1151 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 1152 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 1153 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 1154 : 1 : ::ad::physics::Duration valueResponse_time(0.); 1155 : : valueResponse_time 1156 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1157 : 1 : value.response_time = valueResponse_time; 1158 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 1159 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 1160 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 1161 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 1162 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 1163 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 1164 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 1165 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 1166 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 1167 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 1168 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 1169 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 1170 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 1171 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 1172 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 1173 : : std::numeric_limits<uint32_t>::min()}; 1174 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 1175 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 1176 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 1177 : : std::numeric_limits<uint32_t>::min()}; 1178 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 1179 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 1180 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 1181 : : std::numeric_limits<uint32_t>::min()}; 1182 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 1183 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 1184 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 1185 : : std::numeric_limits<uint32_t>::min()}; 1186 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 1187 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 1188 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 1189 : : std::numeric_limits<uint32_t>::min()}; 1190 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 1191 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 1192 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 1193 : : std::numeric_limits<uint32_t>::min()}; 1194 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 1195 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 1196 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 1197 : : std::numeric_limits<uint32_t>::min()}; 1198 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 1199 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 1200 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 1201 : : std::numeric_limits<uint32_t>::min()}; 1202 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 1203 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 1204 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 1205 : : std::numeric_limits<uint32_t>::min()}; 1206 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 1207 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 1208 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 1209 : : std::numeric_limits<uint32_t>::min()}; 1210 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 1211 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 1212 : 1 : value.unstructured_settings = valueUnstructured_settings; 1213 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 1214 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 1215 : : 1216 : : // override member with data type value below input range minimum 1217 : 1 : ::ad::rss::world::UnstructuredSettings invalidInitializedMember; 1218 : 1 : ::ad::physics::Distance invalidInitializedMemberPedestrian_turning_radius(-1e9 * 1.1); 1219 : 1 : invalidInitializedMember.pedestrian_turning_radius = invalidInitializedMemberPedestrian_turning_radius; 1220 : 1 : value.unstructured_settings = invalidInitializedMember; 1221 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1222 : : } 1223 : : 1224 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeUnstructured_settingsTooBig) 1225 : : { 1226 : 1 : ::ad::rss::world::RssDynamics value; 1227 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 1228 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 1229 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1230 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 1231 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 1232 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 1233 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 1234 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 1235 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 1236 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 1237 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 1238 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 1239 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 1240 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 1241 : 1 : value.alpha_lon = valueAlpha_lon; 1242 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 1243 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 1244 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1245 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 1246 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 1247 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 1248 : 1 : value.alpha_lat = valueAlpha_lat; 1249 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 1250 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 1251 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 1252 : 1 : ::ad::physics::Duration valueResponse_time(0.); 1253 : : valueResponse_time 1254 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1255 : 1 : value.response_time = valueResponse_time; 1256 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 1257 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 1258 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 1259 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 1260 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 1261 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 1262 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 1263 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 1264 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 1265 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 1266 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 1267 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 1268 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 1269 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 1270 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 1271 : : std::numeric_limits<uint32_t>::min()}; 1272 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 1273 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 1274 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 1275 : : std::numeric_limits<uint32_t>::min()}; 1276 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 1277 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 1278 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 1279 : : std::numeric_limits<uint32_t>::min()}; 1280 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 1281 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 1282 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 1283 : : std::numeric_limits<uint32_t>::min()}; 1284 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 1285 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 1286 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 1287 : : std::numeric_limits<uint32_t>::min()}; 1288 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 1289 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 1290 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 1291 : : std::numeric_limits<uint32_t>::min()}; 1292 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 1293 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 1294 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 1295 : : std::numeric_limits<uint32_t>::min()}; 1296 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 1297 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 1298 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 1299 : : std::numeric_limits<uint32_t>::min()}; 1300 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 1301 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 1302 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 1303 : : std::numeric_limits<uint32_t>::min()}; 1304 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 1305 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 1306 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 1307 : : std::numeric_limits<uint32_t>::min()}; 1308 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 1309 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 1310 : 1 : value.unstructured_settings = valueUnstructured_settings; 1311 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 1312 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 1313 : : 1314 : : // override member with data type value above input range maximum 1315 : 1 : ::ad::rss::world::UnstructuredSettings invalidInitializedMember; 1316 : 1 : ::ad::physics::Distance invalidInitializedMemberPedestrian_turning_radius(1e9 * 1.1); 1317 : 1 : invalidInitializedMember.pedestrian_turning_radius = invalidInitializedMemberPedestrian_turning_radius; 1318 : 1 : value.unstructured_settings = invalidInitializedMember; 1319 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1320 : : } 1321 : : 1322 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeMin_longitudinal_safety_distanceTooSmall) 1323 : : { 1324 : 1 : ::ad::rss::world::RssDynamics value; 1325 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 1326 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 1327 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1328 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 1329 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 1330 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 1331 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 1332 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 1333 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 1334 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 1335 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 1336 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 1337 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 1338 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 1339 : 1 : value.alpha_lon = valueAlpha_lon; 1340 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 1341 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 1342 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1343 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 1344 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 1345 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 1346 : 1 : value.alpha_lat = valueAlpha_lat; 1347 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 1348 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 1349 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 1350 : 1 : ::ad::physics::Duration valueResponse_time(0.); 1351 : : valueResponse_time 1352 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1353 : 1 : value.response_time = valueResponse_time; 1354 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 1355 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 1356 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 1357 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 1358 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 1359 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 1360 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 1361 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 1362 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 1363 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 1364 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 1365 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 1366 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 1367 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 1368 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 1369 : : std::numeric_limits<uint32_t>::min()}; 1370 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 1371 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 1372 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 1373 : : std::numeric_limits<uint32_t>::min()}; 1374 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 1375 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 1376 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 1377 : : std::numeric_limits<uint32_t>::min()}; 1378 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 1379 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 1380 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 1381 : : std::numeric_limits<uint32_t>::min()}; 1382 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 1383 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 1384 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 1385 : : std::numeric_limits<uint32_t>::min()}; 1386 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 1387 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 1388 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 1389 : : std::numeric_limits<uint32_t>::min()}; 1390 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 1391 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 1392 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 1393 : : std::numeric_limits<uint32_t>::min()}; 1394 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 1395 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 1396 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 1397 : : std::numeric_limits<uint32_t>::min()}; 1398 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 1399 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 1400 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 1401 : : std::numeric_limits<uint32_t>::min()}; 1402 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 1403 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 1404 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 1405 : : std::numeric_limits<uint32_t>::min()}; 1406 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 1407 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 1408 : 1 : value.unstructured_settings = valueUnstructured_settings; 1409 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 1410 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 1411 : : 1412 : : // override member with data type value below input range minimum 1413 : 1 : ::ad::physics::Distance invalidInitializedMember(-1e9 * 1.1); 1414 : 1 : value.min_longitudinal_safety_distance = invalidInitializedMember; 1415 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1416 : : } 1417 : : 1418 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangeMin_longitudinal_safety_distanceTooBig) 1419 : : { 1420 : 1 : ::ad::rss::world::RssDynamics value; 1421 : 1 : ::ad::rss::world::LongitudinalRssAccelerationValues valueAlpha_lon; 1422 : 1 : ::ad::physics::Acceleration valueAlpha_lonAccel_max(-1e2); 1423 : 1 : valueAlpha_lonAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1424 : 1 : valueAlpha_lon.accel_max = valueAlpha_lonAccel_max; 1425 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_max(-1e2); 1426 : 1 : valueAlpha_lon.brake_max = valueAlpha_lonBrake_max; 1427 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min(-1e2); 1428 : 1 : valueAlpha_lon.brake_min = valueAlpha_lonBrake_min; 1429 : 1 : ::ad::physics::Acceleration valueAlpha_lonBrake_min_correct(-1e2); 1430 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lonBrake_min_correct; 1431 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_max; 1432 : 1 : valueAlpha_lon.brake_min_correct = valueAlpha_lon.brake_min; 1433 : 1 : valueAlpha_lon.brake_min = valueAlpha_lon.brake_min_correct; 1434 : 1 : valueAlpha_lon.brake_max = valueAlpha_lon.brake_min; 1435 : 1 : value.alpha_lon = valueAlpha_lon; 1436 : 1 : ::ad::rss::world::LateralRssAccelerationValues valueAlpha_lat; 1437 : 1 : ::ad::physics::Acceleration valueAlpha_latAccel_max(-1e2); 1438 : 1 : valueAlpha_latAccel_max = ::ad::physics::Acceleration(0.); // set to valid value within struct 1439 : 1 : valueAlpha_lat.accel_max = valueAlpha_latAccel_max; 1440 : 1 : ::ad::physics::Acceleration valueAlpha_latBrake_min(-1e2); 1441 : 1 : valueAlpha_lat.brake_min = valueAlpha_latBrake_min; 1442 : 1 : value.alpha_lat = valueAlpha_lat; 1443 : 1 : ::ad::physics::Distance valueLateral_fluctuation_margin(-1e9); 1444 : 1 : valueLateral_fluctuation_margin = ::ad::physics::Distance(0.); // set to valid value within struct 1445 : 1 : value.lateral_fluctuation_margin = valueLateral_fluctuation_margin; 1446 : 1 : ::ad::physics::Duration valueResponse_time(0.); 1447 : : valueResponse_time 1448 : 1 : = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct 1449 : 1 : value.response_time = valueResponse_time; 1450 : 1 : ::ad::physics::Speed valueMax_speed_on_acceleration(-100.); 1451 : 1 : value.max_speed_on_acceleration = valueMax_speed_on_acceleration; 1452 : 1 : ::ad::rss::world::UnstructuredSettings valueUnstructured_settings; 1453 : 1 : ::ad::physics::Distance valueUnstructured_settingsPedestrian_turning_radius(-1e9); 1454 : 1 : valueUnstructured_settings.pedestrian_turning_radius = valueUnstructured_settingsPedestrian_turning_radius; 1455 : 1 : ::ad::physics::Angle valueUnstructured_settingsDrive_away_max_angle(-6.283185308); 1456 : 1 : valueUnstructured_settings.drive_away_max_angle = valueUnstructured_settingsDrive_away_max_angle; 1457 : 1 : ::ad::physics::AngularAcceleration valueUnstructured_settingsVehicle_yaw_rate_change(-1e2); 1458 : 1 : valueUnstructured_settings.vehicle_yaw_rate_change = valueUnstructured_settingsVehicle_yaw_rate_change; 1459 : 1 : ::ad::physics::Distance valueUnstructured_settingsVehicle_min_radius(-1e9); 1460 : 1 : valueUnstructured_settings.vehicle_min_radius = valueUnstructured_settingsVehicle_min_radius; 1461 : 1 : ::ad::physics::Duration valueUnstructured_settingsVehicle_trajectory_calculation_step(0.); 1462 : : valueUnstructured_settings.vehicle_trajectory_calculation_step 1463 : 1 : = valueUnstructured_settingsVehicle_trajectory_calculation_step; 1464 : 1 : uint32_t valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps{ 1465 : : std::numeric_limits<uint32_t>::min()}; 1466 : : valueUnstructured_settings.vehicle_front_intermediate_yaw_rate_change_ratio_steps 1467 : 1 : = valueUnstructured_settingsVehicle_front_intermediate_yaw_rate_change_ratio_steps; 1468 : 1 : uint32_t valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps{ 1469 : : std::numeric_limits<uint32_t>::min()}; 1470 : : valueUnstructured_settings.vehicle_back_intermediate_yaw_rate_change_ratio_steps 1471 : 1 : = valueUnstructured_settingsVehicle_back_intermediate_yaw_rate_change_ratio_steps; 1472 : 1 : uint32_t valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps{ 1473 : : std::numeric_limits<uint32_t>::min()}; 1474 : : valueUnstructured_settings.vehicle_brake_intermediate_acceleration_steps 1475 : 1 : = valueUnstructured_settingsVehicle_brake_intermediate_acceleration_steps; 1476 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps{ 1477 : : std::numeric_limits<uint32_t>::min()}; 1478 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_acceleration_steps 1479 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_acceleration_steps; 1480 : 1 : uint32_t valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps{ 1481 : : std::numeric_limits<uint32_t>::min()}; 1482 : : valueUnstructured_settings.vehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps 1483 : 1 : = valueUnstructured_settingsVehicle_continue_forward_intermediate_yaw_rate_change_ratio_steps; 1484 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps{ 1485 : : std::numeric_limits<uint32_t>::min()}; 1486 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_heading_change_ratio_steps 1487 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_heading_change_ratio_steps; 1488 : 1 : uint32_t valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps{ 1489 : : std::numeric_limits<uint32_t>::min()}; 1490 : : valueUnstructured_settings.pedestrian_continue_forward_intermediate_acceleration_steps 1491 : 1 : = valueUnstructured_settingsPedestrian_continue_forward_intermediate_acceleration_steps; 1492 : 1 : uint32_t valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps{ 1493 : : std::numeric_limits<uint32_t>::min()}; 1494 : : valueUnstructured_settings.pedestrian_brake_intermediate_acceleration_steps 1495 : 1 : = valueUnstructured_settingsPedestrian_brake_intermediate_acceleration_steps; 1496 : 1 : uint32_t valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps{ 1497 : : std::numeric_limits<uint32_t>::min()}; 1498 : : valueUnstructured_settings.pedestrian_front_intermediate_heading_change_ratio_steps 1499 : 1 : = valueUnstructured_settingsPedestrian_front_intermediate_heading_change_ratio_steps; 1500 : 1 : uint32_t valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps{ 1501 : : std::numeric_limits<uint32_t>::min()}; 1502 : : valueUnstructured_settings.pedestrian_back_intermediate_heading_change_ratio_steps 1503 : 1 : = valueUnstructured_settingsPedestrian_back_intermediate_heading_change_ratio_steps; 1504 : 1 : value.unstructured_settings = valueUnstructured_settings; 1505 : 1 : ::ad::physics::Distance valueMin_longitudinal_safety_distance(-1e9); 1506 : 1 : value.min_longitudinal_safety_distance = valueMin_longitudinal_safety_distance; 1507 : : 1508 : : // override member with data type value above input range maximum 1509 : 1 : ::ad::physics::Distance invalidInitializedMember(1e9 * 1.1); 1510 : 1 : value.min_longitudinal_safety_distance = invalidInitializedMember; 1511 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1512 : : } 1513 : : 1514 : 4 : TEST(RssDynamicsValidInputRangeTests, testValidInputRangemin_longitudinal_safety_distanceDefault) 1515 : : { 1516 : 1 : ::ad::rss::world::RssDynamics value; 1517 : 1 : ::ad::physics::Distance valueDefault; 1518 : 1 : value.min_longitudinal_safety_distance = valueDefault; 1519 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 1520 : : }