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/StructuredObjectStateValidInputRange.hpp" 20 : : 21 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRange) 22 : : { 23 : 1 : ::ad::rss::core::StructuredObjectState value; 24 : 1 : ::ad::rss::world::Velocity valueVelocity; 25 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 26 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 27 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 28 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 29 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 30 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 31 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 32 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 33 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 34 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 35 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 36 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 37 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 38 : 1 : value.velocity = valueVelocity; 39 : 1 : bool valueHas_priority{true}; 40 : 1 : value.has_priority = valueHas_priority; 41 : 1 : bool valueIs_in_correct_lane{true}; 42 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 43 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 44 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 45 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 46 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 47 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 48 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 49 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 50 [ + - - + : 1 : ASSERT_TRUE(withinValidInputRange(value)); - - - - - - - - + - ] 51 : : } 52 : : 53 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangeVelocityTooSmall) 54 : : { 55 : 1 : ::ad::rss::core::StructuredObjectState value; 56 : 1 : ::ad::rss::world::Velocity valueVelocity; 57 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 58 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 59 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 60 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 61 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 62 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 63 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 64 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 65 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 66 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 67 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 68 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 69 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 70 : 1 : value.velocity = valueVelocity; 71 : 1 : bool valueHas_priority{true}; 72 : 1 : value.has_priority = valueHas_priority; 73 : 1 : bool valueIs_in_correct_lane{true}; 74 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 75 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 76 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 77 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 78 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 79 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 80 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 81 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 82 : : 83 : : // override member with data type value below input range minimum 84 : 1 : ::ad::rss::world::Velocity invalidInitializedMember; 85 : 1 : ::ad::physics::Speed invalidInitializedMemberSpeed_lon_min(-100. * 1.1); 86 : 1 : invalidInitializedMember.speed_lon_min = invalidInitializedMemberSpeed_lon_min; 87 : 1 : value.velocity = invalidInitializedMember; 88 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 89 : : } 90 : : 91 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangeVelocityTooBig) 92 : : { 93 : 1 : ::ad::rss::core::StructuredObjectState value; 94 : 1 : ::ad::rss::world::Velocity valueVelocity; 95 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 96 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 97 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 98 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 99 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 100 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 101 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 102 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 103 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 104 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 105 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 106 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 107 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 108 : 1 : value.velocity = valueVelocity; 109 : 1 : bool valueHas_priority{true}; 110 : 1 : value.has_priority = valueHas_priority; 111 : 1 : bool valueIs_in_correct_lane{true}; 112 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 113 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 114 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 115 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 116 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 117 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 118 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 119 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 120 : : 121 : : // override member with data type value above input range maximum 122 : 1 : ::ad::rss::world::Velocity invalidInitializedMember; 123 : 1 : ::ad::physics::Speed invalidInitializedMemberSpeed_lon_min(100. * 1.1); 124 : 1 : invalidInitializedMember.speed_lon_min = invalidInitializedMemberSpeed_lon_min; 125 : 1 : value.velocity = invalidInitializedMember; 126 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 127 : : } 128 : : 129 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangeDistance_to_enter_intersectionTooSmall) 130 : : { 131 : 1 : ::ad::rss::core::StructuredObjectState value; 132 : 1 : ::ad::rss::world::Velocity valueVelocity; 133 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 134 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 135 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 136 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 137 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 138 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 139 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 140 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 141 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 142 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 143 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 144 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 145 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 146 : 1 : value.velocity = valueVelocity; 147 : 1 : bool valueHas_priority{true}; 148 : 1 : value.has_priority = valueHas_priority; 149 : 1 : bool valueIs_in_correct_lane{true}; 150 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 151 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 152 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 153 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 154 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 155 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 156 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 157 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 158 : : 159 : : // override member with data type value below input range minimum 160 : 1 : ::ad::physics::Distance invalidInitializedMember(-1e9 * 1.1); 161 : 1 : value.distance_to_enter_intersection = invalidInitializedMember; 162 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 163 : : 164 : : // override member with value below struct member input range minimum 165 : : invalidInitializedMember 166 : 1 : = ::ad::physics::Distance(0. - ::ad::physics::Distance::cPrecisionValue); // set to invalid value within struct 167 : 1 : value.distance_to_enter_intersection = invalidInitializedMember; 168 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 169 : : } 170 : : 171 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangeDistance_to_enter_intersectionTooBig) 172 : : { 173 : 1 : ::ad::rss::core::StructuredObjectState value; 174 : 1 : ::ad::rss::world::Velocity valueVelocity; 175 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 176 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 177 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 178 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 179 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 180 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 181 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 182 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 183 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 184 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 185 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 186 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 187 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 188 : 1 : value.velocity = valueVelocity; 189 : 1 : bool valueHas_priority{true}; 190 : 1 : value.has_priority = valueHas_priority; 191 : 1 : bool valueIs_in_correct_lane{true}; 192 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 193 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 194 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 195 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 196 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 197 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 198 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 199 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 200 : : 201 : : // override member with data type value above input range maximum 202 : 1 : ::ad::physics::Distance invalidInitializedMember(1e9 * 1.1); 203 : 1 : value.distance_to_enter_intersection = invalidInitializedMember; 204 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 205 : : } 206 : : 207 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangedistance_to_enter_intersectionDefault) 208 : : { 209 : 1 : ::ad::rss::core::StructuredObjectState value; 210 : 1 : ::ad::physics::Distance valueDefault; 211 : 1 : value.distance_to_enter_intersection = valueDefault; 212 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 213 : : } 214 : : 215 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangeDistance_to_leave_intersectionTooSmall) 216 : : { 217 : 1 : ::ad::rss::core::StructuredObjectState value; 218 : 1 : ::ad::rss::world::Velocity valueVelocity; 219 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 220 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 221 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 222 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 223 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 224 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 225 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 226 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 227 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 228 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 229 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 230 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 231 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 232 : 1 : value.velocity = valueVelocity; 233 : 1 : bool valueHas_priority{true}; 234 : 1 : value.has_priority = valueHas_priority; 235 : 1 : bool valueIs_in_correct_lane{true}; 236 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 237 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 238 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 239 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 240 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 241 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 242 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 243 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 244 : : 245 : : // override member with data type value below input range minimum 246 : 1 : ::ad::physics::Distance invalidInitializedMember(-1e9 * 1.1); 247 : 1 : value.distance_to_leave_intersection = invalidInitializedMember; 248 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 249 : : } 250 : : 251 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangeDistance_to_leave_intersectionTooBig) 252 : : { 253 : 1 : ::ad::rss::core::StructuredObjectState value; 254 : 1 : ::ad::rss::world::Velocity valueVelocity; 255 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.); 256 : 1 : valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct 257 : 1 : valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min; 258 : 1 : ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.); 259 : 1 : valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max; 260 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.); 261 : 1 : valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min; 262 : 1 : ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.); 263 : 1 : valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max; 264 : 1 : valueVelocity.speed_lon_max = valueVelocity.speed_lon_min; 265 : 1 : valueVelocity.speed_lat_max = valueVelocity.speed_lat_min; 266 : 1 : valueVelocity.speed_lon_min = valueVelocity.speed_lon_max; 267 : 1 : valueVelocity.speed_lat_min = valueVelocity.speed_lat_max; 268 : 1 : value.velocity = valueVelocity; 269 : 1 : bool valueHas_priority{true}; 270 : 1 : value.has_priority = valueHas_priority; 271 : 1 : bool valueIs_in_correct_lane{true}; 272 : 1 : value.is_in_correct_lane = valueIs_in_correct_lane; 273 : 1 : ::ad::physics::Distance valueDistance_to_enter_intersection(-1e9); 274 : 1 : valueDistance_to_enter_intersection = ::ad::physics::Distance(0.); // set to valid value within struct 275 : 1 : value.distance_to_enter_intersection = valueDistance_to_enter_intersection; 276 : 1 : ::ad::physics::Distance valueDistance_to_leave_intersection(-1e9); 277 : 1 : value.distance_to_leave_intersection = valueDistance_to_leave_intersection; 278 : 1 : value.distance_to_leave_intersection = value.distance_to_enter_intersection; 279 : 1 : value.distance_to_enter_intersection = value.distance_to_leave_intersection; 280 : : 281 : : // override member with data type value above input range maximum 282 : 1 : ::ad::physics::Distance invalidInitializedMember(1e9 * 1.1); 283 : 1 : value.distance_to_leave_intersection = invalidInitializedMember; 284 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 285 : : 286 : : // override member with value above struct member input range maximum 287 : 1 : invalidInitializedMember = ::ad::physics::Distance(1e4 * 1.1); // set to invalid value within struct 288 : 1 : value.distance_to_leave_intersection = invalidInitializedMember; 289 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 290 : : } 291 : : 292 : 4 : TEST(StructuredObjectStateValidInputRangeTests, testValidInputRangedistance_to_leave_intersectionDefault) 293 : : { 294 : 1 : ::ad::rss::core::StructuredObjectState value; 295 : 1 : ::ad::physics::Distance valueDefault; 296 : 1 : value.distance_to_leave_intersection = valueDefault; 297 [ + - - + : 1 : ASSERT_FALSE(withinValidInputRange(value)); - - - - - - - - + - ] 298 : : }