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/state/ProperResponseValidInputRange.hpp" 20 : : 21 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRange) 22 : : { 23 : 1 : ::ad::rss::state::ProperResponse value; 24 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 25 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 26 : 1 : value.time_index = valueTime_index; 27 : 1 : bool valueIs_safe{true}; 28 : 1 : value.is_safe = valueIs_safe; 29 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 30 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 31 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 32 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 33 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 34 : 1 : value.longitudinal_response = valueLongitudinal_response; 35 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 36 : 1 : value.lateral_response_right = valueLateral_response_right; 37 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 38 : 1 : value.lateral_response_left = valueLateral_response_left; 39 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 40 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 41 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 42 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 43 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 44 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 45 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 46 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 47 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 48 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 49 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 50 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 51 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 52 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 53 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 54 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 55 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 56 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 57 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 58 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 59 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 60 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 61 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 62 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 63 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 64 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 65 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 66 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 67 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 68 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 69 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 70 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 71 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 72 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 73 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 74 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 75 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 76 [ + - - + : 1 : ASSERT_TRUE(withinValidInputRange(value)); - - - - - - - - + - ] 77 [ + - + - : 1 : } + - ] 78 : : 79 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeLongitudinal_responseTooSmall) 80 : : { 81 : 1 : ::ad::rss::state::ProperResponse value; 82 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 83 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 84 : 1 : value.time_index = valueTime_index; 85 : 1 : bool valueIs_safe{true}; 86 : 1 : value.is_safe = valueIs_safe; 87 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 88 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 89 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 90 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 91 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 92 : 1 : value.longitudinal_response = valueLongitudinal_response; 93 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 94 : 1 : value.lateral_response_right = valueLateral_response_right; 95 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 96 : 1 : value.lateral_response_left = valueLateral_response_left; 97 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 98 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 99 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 100 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 101 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 102 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 103 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 104 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 105 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 106 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 107 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 108 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 109 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 110 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 111 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 112 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 113 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 114 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 115 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 116 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 117 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 118 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 119 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 120 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 121 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 122 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 123 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 124 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 125 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 126 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 127 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 128 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 129 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 130 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 131 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 132 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 133 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 134 : : 135 : : // override member with data type value below input range minimum 136 : 1 : ::ad::rss::state::LongitudinalResponse invalidInitializedMember( 137 : : static_cast<::ad::rss::state::LongitudinalResponse>(-1)); 138 : 1 : value.longitudinal_response = invalidInitializedMember; 139 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 140 [ + - + - : 1 : } + - ] 141 : : 142 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeLongitudinal_responseTooBig) 143 : : { 144 : 1 : ::ad::rss::state::ProperResponse value; 145 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 146 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 147 : 1 : value.time_index = valueTime_index; 148 : 1 : bool valueIs_safe{true}; 149 : 1 : value.is_safe = valueIs_safe; 150 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 151 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 152 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 153 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 154 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 155 : 1 : value.longitudinal_response = valueLongitudinal_response; 156 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 157 : 1 : value.lateral_response_right = valueLateral_response_right; 158 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 159 : 1 : value.lateral_response_left = valueLateral_response_left; 160 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 161 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 162 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 163 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 164 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 165 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 166 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 167 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 168 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 169 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 170 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 171 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 172 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 173 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 174 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 175 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 176 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 177 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 178 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 179 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 180 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 181 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 182 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 183 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 184 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 185 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 186 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 187 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 188 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 189 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 190 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 191 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 192 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 193 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 194 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 195 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 196 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 197 : : 198 : : // override member with data type value above input range maximum 199 : 1 : ::ad::rss::state::LongitudinalResponse invalidInitializedMember( 200 : : static_cast<::ad::rss::state::LongitudinalResponse>(-1)); 201 : 1 : value.longitudinal_response = invalidInitializedMember; 202 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 203 [ + - + - : 1 : } + - ] 204 : : 205 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeLateral_response_rightTooSmall) 206 : : { 207 : 1 : ::ad::rss::state::ProperResponse value; 208 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 209 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 210 : 1 : value.time_index = valueTime_index; 211 : 1 : bool valueIs_safe{true}; 212 : 1 : value.is_safe = valueIs_safe; 213 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 214 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 215 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 216 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 217 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 218 : 1 : value.longitudinal_response = valueLongitudinal_response; 219 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 220 : 1 : value.lateral_response_right = valueLateral_response_right; 221 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 222 : 1 : value.lateral_response_left = valueLateral_response_left; 223 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 224 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 225 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 226 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 227 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 228 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 229 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 230 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 231 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 232 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 233 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 234 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 235 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 236 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 237 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 238 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 239 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 240 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 241 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 242 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 243 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 244 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 245 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 246 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 247 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 248 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 249 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 250 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 251 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 252 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 253 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 254 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 255 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 256 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 257 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 258 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 259 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 260 : : 261 : : // override member with data type value below input range minimum 262 : 1 : ::ad::rss::state::LateralResponse invalidInitializedMember(static_cast<::ad::rss::state::LateralResponse>(-1)); 263 : 1 : value.lateral_response_right = invalidInitializedMember; 264 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 265 [ + - + - : 1 : } + - ] 266 : : 267 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeLateral_response_rightTooBig) 268 : : { 269 : 1 : ::ad::rss::state::ProperResponse value; 270 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 271 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 272 : 1 : value.time_index = valueTime_index; 273 : 1 : bool valueIs_safe{true}; 274 : 1 : value.is_safe = valueIs_safe; 275 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 276 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 277 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 278 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 279 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 280 : 1 : value.longitudinal_response = valueLongitudinal_response; 281 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 282 : 1 : value.lateral_response_right = valueLateral_response_right; 283 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 284 : 1 : value.lateral_response_left = valueLateral_response_left; 285 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 286 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 287 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 288 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 289 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 290 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 291 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 292 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 293 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 294 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 295 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 296 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 297 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 298 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 299 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 300 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 301 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 302 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 303 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 304 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 305 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 306 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 307 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 308 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 309 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 310 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 311 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 312 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 313 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 314 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 315 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 316 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 317 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 318 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 319 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 320 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 321 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 322 : : 323 : : // override member with data type value above input range maximum 324 : 1 : ::ad::rss::state::LateralResponse invalidInitializedMember(static_cast<::ad::rss::state::LateralResponse>(-1)); 325 : 1 : value.lateral_response_right = invalidInitializedMember; 326 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 327 [ + - + - : 1 : } + - ] 328 : : 329 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeLateral_response_leftTooSmall) 330 : : { 331 : 1 : ::ad::rss::state::ProperResponse value; 332 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 333 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 334 : 1 : value.time_index = valueTime_index; 335 : 1 : bool valueIs_safe{true}; 336 : 1 : value.is_safe = valueIs_safe; 337 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 338 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 339 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 340 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 341 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 342 : 1 : value.longitudinal_response = valueLongitudinal_response; 343 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 344 : 1 : value.lateral_response_right = valueLateral_response_right; 345 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 346 : 1 : value.lateral_response_left = valueLateral_response_left; 347 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 348 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 349 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 350 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 351 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 352 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 353 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 354 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 355 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 356 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 357 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 358 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 359 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 360 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 361 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 362 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 363 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 364 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 365 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 366 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 367 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 368 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 369 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 370 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 371 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 372 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 373 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 374 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 375 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 376 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 377 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 378 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 379 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 380 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 381 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 382 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 383 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 384 : : 385 : : // override member with data type value below input range minimum 386 : 1 : ::ad::rss::state::LateralResponse invalidInitializedMember(static_cast<::ad::rss::state::LateralResponse>(-1)); 387 : 1 : value.lateral_response_left = invalidInitializedMember; 388 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 389 [ + - + - : 1 : } + - ] 390 : : 391 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeLateral_response_leftTooBig) 392 : : { 393 : 1 : ::ad::rss::state::ProperResponse value; 394 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 395 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 396 : 1 : value.time_index = valueTime_index; 397 : 1 : bool valueIs_safe{true}; 398 : 1 : value.is_safe = valueIs_safe; 399 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 400 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 401 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 402 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 403 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 404 : 1 : value.longitudinal_response = valueLongitudinal_response; 405 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 406 : 1 : value.lateral_response_right = valueLateral_response_right; 407 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 408 : 1 : value.lateral_response_left = valueLateral_response_left; 409 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 410 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 411 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 412 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 413 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 414 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 415 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 416 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 417 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 418 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 419 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 420 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 421 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 422 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 423 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 424 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 425 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 426 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 427 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 428 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 429 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 430 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 431 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 432 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 433 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 434 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 435 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 436 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 437 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 438 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 439 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 440 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 441 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 442 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 443 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 444 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 445 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 446 : : 447 : : // override member with data type value above input range maximum 448 : 1 : ::ad::rss::state::LateralResponse invalidInitializedMember(static_cast<::ad::rss::state::LateralResponse>(-1)); 449 : 1 : value.lateral_response_left = invalidInitializedMember; 450 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 451 [ + - + - : 1 : } + - ] 452 : : 453 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeAcceleration_restrictionsTooSmall) 454 : : { 455 : 1 : ::ad::rss::state::ProperResponse value; 456 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 457 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 458 : 1 : value.time_index = valueTime_index; 459 : 1 : bool valueIs_safe{true}; 460 : 1 : value.is_safe = valueIs_safe; 461 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 462 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 463 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 464 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 465 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 466 : 1 : value.longitudinal_response = valueLongitudinal_response; 467 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 468 : 1 : value.lateral_response_right = valueLateral_response_right; 469 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 470 : 1 : value.lateral_response_left = valueLateral_response_left; 471 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 472 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 473 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 474 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 475 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 476 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 477 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 478 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 479 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 480 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 481 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 482 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 483 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 484 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 485 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 486 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 487 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 488 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 489 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 490 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 491 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 492 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 493 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 494 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 495 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 496 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 497 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 498 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 499 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 500 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 501 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 502 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 503 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 504 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 505 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 506 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 507 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 508 : : 509 : : // override member with data type value below input range minimum 510 : 1 : ::ad::rss::state::AccelerationRestriction invalidInitializedMember; 511 : 1 : ::ad::physics::AccelerationRange invalidInitializedMemberLateral_left_range; 512 : 1 : ::ad::physics::Acceleration invalidInitializedMemberLateral_left_rangeMinimum(-1e2 * 1.1); 513 : 1 : invalidInitializedMemberLateral_left_range.minimum = invalidInitializedMemberLateral_left_rangeMinimum; 514 : 1 : invalidInitializedMember.lateral_left_range = invalidInitializedMemberLateral_left_range; 515 : 1 : value.acceleration_restrictions = invalidInitializedMember; 516 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 517 [ + - + - : 1 : } + - ] 518 : : 519 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeAcceleration_restrictionsTooBig) 520 : : { 521 : 1 : ::ad::rss::state::ProperResponse value; 522 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 523 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 524 : 1 : value.time_index = valueTime_index; 525 : 1 : bool valueIs_safe{true}; 526 : 1 : value.is_safe = valueIs_safe; 527 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 528 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 529 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 530 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 531 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 532 : 1 : value.longitudinal_response = valueLongitudinal_response; 533 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 534 : 1 : value.lateral_response_right = valueLateral_response_right; 535 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 536 : 1 : value.lateral_response_left = valueLateral_response_left; 537 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 538 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 539 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 540 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 541 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 542 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 543 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 544 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 545 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 546 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 547 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 548 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 549 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 550 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 551 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 552 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 553 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 554 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 555 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 556 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 557 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 558 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 559 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 560 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 561 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 562 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 563 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 564 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 565 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 566 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 567 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 568 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 569 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 570 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 571 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 572 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 573 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 574 : : 575 : : // override member with data type value above input range maximum 576 : 1 : ::ad::rss::state::AccelerationRestriction invalidInitializedMember; 577 : 1 : ::ad::physics::AccelerationRange invalidInitializedMemberLateral_left_range; 578 : 1 : ::ad::physics::Acceleration invalidInitializedMemberLateral_left_rangeMinimum(1e2 * 1.1); 579 : 1 : invalidInitializedMemberLateral_left_range.minimum = invalidInitializedMemberLateral_left_rangeMinimum; 580 : 1 : invalidInitializedMember.lateral_left_range = invalidInitializedMemberLateral_left_range; 581 : 1 : value.acceleration_restrictions = invalidInitializedMember; 582 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 583 [ + - + - : 1 : } + - ] 584 : : 585 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeUnstructured_constellation_responseTooSmall) 586 : : { 587 : 1 : ::ad::rss::state::ProperResponse value; 588 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 589 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 590 : 1 : value.time_index = valueTime_index; 591 : 1 : bool valueIs_safe{true}; 592 : 1 : value.is_safe = valueIs_safe; 593 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 594 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 595 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 596 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 597 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 598 : 1 : value.longitudinal_response = valueLongitudinal_response; 599 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 600 : 1 : value.lateral_response_right = valueLateral_response_right; 601 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 602 : 1 : value.lateral_response_left = valueLateral_response_left; 603 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 604 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 605 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 606 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 607 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 608 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 609 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 610 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 611 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 612 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 613 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 614 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 615 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 616 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 617 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 618 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 619 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 620 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 621 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 622 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 623 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 624 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 625 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 626 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 627 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 628 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 629 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 630 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 631 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 632 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 633 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 634 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 635 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 636 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 637 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 638 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 639 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 640 : : 641 : : // override member with data type value below input range minimum 642 : 1 : ::ad::rss::state::UnstructuredConstellationResponse invalidInitializedMember( 643 : : static_cast<::ad::rss::state::UnstructuredConstellationResponse>(-1)); 644 : 1 : value.unstructured_constellation_response = invalidInitializedMember; 645 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 646 [ + - + - : 1 : } + - ] 647 : : 648 : 4 : TEST(ProperResponseValidInputRangeTests, testValidInputRangeUnstructured_constellation_responseTooBig) 649 : : { 650 : 1 : ::ad::rss::state::ProperResponse value; 651 : 1 : ::ad::rss::world::TimeIndex valueTime_index(std::numeric_limits<::ad::rss::world::TimeIndex>::lowest()); 652 : 1 : valueTime_index = ::ad::rss::world::TimeIndex(1); // set to valid value within struct 653 : 1 : value.time_index = valueTime_index; 654 : 1 : bool valueIs_safe{true}; 655 : 1 : value.is_safe = valueIs_safe; 656 : 1 : ::ad::rss::world::ObjectIdVector valueDangerous_objects; 657 : 1 : ::ad::rss::world::ObjectId valueDangerous_objectsElement(std::numeric_limits<::ad::rss::world::ObjectId>::lowest()); 658 [ + - ]: 1 : valueDangerous_objects.resize(1, valueDangerous_objectsElement); 659 [ + - ]: 1 : value.dangerous_objects = valueDangerous_objects; 660 : 1 : ::ad::rss::state::LongitudinalResponse valueLongitudinal_response(::ad::rss::state::LongitudinalResponse::None); 661 : 1 : value.longitudinal_response = valueLongitudinal_response; 662 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_right(::ad::rss::state::LateralResponse::None); 663 : 1 : value.lateral_response_right = valueLateral_response_right; 664 : 1 : ::ad::rss::state::LateralResponse valueLateral_response_left(::ad::rss::state::LateralResponse::None); 665 : 1 : value.lateral_response_left = valueLateral_response_left; 666 : 1 : ::ad::geometry::HeadingRangeVector valueHeading_ranges; 667 : 1 : ::ad::geometry::HeadingRange valueHeading_rangesElement; 668 : 1 : ::ad::physics::Angle valueHeading_rangesElementBegin(-6.283185308); 669 : 1 : valueHeading_rangesElement.begin = valueHeading_rangesElementBegin; 670 : 1 : ::ad::physics::Angle valueHeading_rangesElementEnd(-6.283185308); 671 : 1 : valueHeading_rangesElement.end = valueHeading_rangesElementEnd; 672 [ + - ]: 1 : valueHeading_ranges.resize(1, valueHeading_rangesElement); 673 [ + - ]: 1 : value.heading_ranges = valueHeading_ranges; 674 : 1 : ::ad::rss::state::AccelerationRestriction valueAcceleration_restrictions; 675 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_left_range; 676 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMinimum(-1e2); 677 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_rangeMinimum; 678 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_left_rangeMaximum(-1e2); 679 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_rangeMaximum; 680 : 1 : valueAcceleration_restrictionsLateral_left_range.maximum = valueAcceleration_restrictionsLateral_left_range.minimum; 681 : 1 : valueAcceleration_restrictionsLateral_left_range.minimum = valueAcceleration_restrictionsLateral_left_range.maximum; 682 : 1 : valueAcceleration_restrictions.lateral_left_range = valueAcceleration_restrictionsLateral_left_range; 683 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLongitudinal_range; 684 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMinimum(-1e2); 685 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_rangeMinimum; 686 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLongitudinal_rangeMaximum(-1e2); 687 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_rangeMaximum; 688 : 1 : valueAcceleration_restrictionsLongitudinal_range.maximum = valueAcceleration_restrictionsLongitudinal_range.minimum; 689 : 1 : valueAcceleration_restrictionsLongitudinal_range.minimum = valueAcceleration_restrictionsLongitudinal_range.maximum; 690 : 1 : valueAcceleration_restrictions.longitudinal_range = valueAcceleration_restrictionsLongitudinal_range; 691 : 1 : ::ad::physics::AccelerationRange valueAcceleration_restrictionsLateral_right_range; 692 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMinimum(-1e2); 693 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_rangeMinimum; 694 : 1 : ::ad::physics::Acceleration valueAcceleration_restrictionsLateral_right_rangeMaximum(-1e2); 695 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_rangeMaximum; 696 : 1 : valueAcceleration_restrictionsLateral_right_range.maximum = valueAcceleration_restrictionsLateral_right_range.minimum; 697 : 1 : valueAcceleration_restrictionsLateral_right_range.minimum = valueAcceleration_restrictionsLateral_right_range.maximum; 698 : 1 : valueAcceleration_restrictions.lateral_right_range = valueAcceleration_restrictionsLateral_right_range; 699 : 1 : value.acceleration_restrictions = valueAcceleration_restrictions; 700 : 1 : ::ad::rss::state::UnstructuredConstellationResponse valueUnstructured_constellation_response( 701 : : ::ad::rss::state::UnstructuredConstellationResponse::None); 702 : 1 : value.unstructured_constellation_response = valueUnstructured_constellation_response; 703 : : 704 : : // override member with data type value above input range maximum 705 : 1 : ::ad::rss::state::UnstructuredConstellationResponse invalidInitializedMember( 706 : : static_cast<::ad::rss::state::UnstructuredConstellationResponse>(-1)); 707 : 1 : value.unstructured_constellation_response = invalidInitializedMember; 708 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 709 [ + - + - : 1 : } + - ]