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