LCOV - code coverage report
Current view: top level - tests/generated/ad/rss/world - ObjectTests.cpp (source / functions) Hit Total Coverage
Test: ad_rss Lines: 204 204 100.0 %
Date: 2025-07-22 06:53:46 Functions: 34 34 100.0 %
Branches: 63 252 25.0 %

           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                 :            : #if defined(__clang__) && (__clang_major__ >= 7)
      16                 :            : #pragma GCC diagnostic push
      17                 :            : #pragma GCC diagnostic ignored "-Wself-assign-overloaded"
      18                 :            : #endif
      19                 :            : 
      20                 :            : #include <gtest/gtest.h>
      21                 :            : #include <limits>
      22                 :            : #include "ad/rss/world/Object.hpp"
      23                 :            : 
      24                 :            : class ObjectTests : public testing::Test
      25                 :            : {
      26                 :            : protected:
      27                 :         11 :   virtual void SetUp() override
      28                 :            :   {
      29                 :            :     // valid initialization
      30                 :         11 :     ::ad::rss::world::Object value;
      31                 :         11 :     ::ad::rss::world::ObjectId valueObject_id(std::numeric_limits<::ad::rss::world::ObjectId>::lowest());
      32                 :         11 :     value.object_id = valueObject_id;
      33                 :         11 :     ::ad::rss::world::ObjectType valueObject_type(::ad::rss::world::ObjectType::Invalid);
      34                 :         11 :     value.object_type = valueObject_type;
      35                 :         11 :     ::ad::rss::world::OccupiedRegionVector valueOccupied_regions;
      36                 :         11 :     ::ad::rss::world::OccupiedRegion valueOccupied_regionsElement;
      37                 :         11 :     ::ad::rss::world::LaneSegmentId valueOccupied_regionsElementSegment_id(
      38                 :            :       std::numeric_limits<::ad::rss::world::LaneSegmentId>::lowest());
      39                 :         11 :     valueOccupied_regionsElement.segment_id = valueOccupied_regionsElementSegment_id;
      40                 :         11 :     ::ad::physics::ParametricRange valueOccupied_regionsElementLon_range;
      41                 :         11 :     ::ad::physics::ParametricValue valueOccupied_regionsElementLon_rangeMinimum(0.);
      42                 :         11 :     valueOccupied_regionsElementLon_range.minimum = valueOccupied_regionsElementLon_rangeMinimum;
      43                 :         11 :     ::ad::physics::ParametricValue valueOccupied_regionsElementLon_rangeMaximum(0.);
      44                 :         11 :     valueOccupied_regionsElementLon_range.maximum = valueOccupied_regionsElementLon_rangeMaximum;
      45                 :         11 :     valueOccupied_regionsElementLon_range.maximum = valueOccupied_regionsElementLon_range.minimum;
      46                 :         11 :     valueOccupied_regionsElementLon_range.minimum = valueOccupied_regionsElementLon_range.maximum;
      47                 :         11 :     valueOccupied_regionsElement.lon_range = valueOccupied_regionsElementLon_range;
      48                 :         11 :     ::ad::physics::ParametricRange valueOccupied_regionsElementLat_range;
      49                 :         11 :     ::ad::physics::ParametricValue valueOccupied_regionsElementLat_rangeMinimum(0.);
      50                 :         11 :     valueOccupied_regionsElementLat_range.minimum = valueOccupied_regionsElementLat_rangeMinimum;
      51                 :         11 :     ::ad::physics::ParametricValue valueOccupied_regionsElementLat_rangeMaximum(0.);
      52                 :         11 :     valueOccupied_regionsElementLat_range.maximum = valueOccupied_regionsElementLat_rangeMaximum;
      53                 :         11 :     valueOccupied_regionsElementLat_range.maximum = valueOccupied_regionsElementLat_range.minimum;
      54                 :         11 :     valueOccupied_regionsElementLat_range.minimum = valueOccupied_regionsElementLat_range.maximum;
      55                 :         11 :     valueOccupied_regionsElement.lat_range = valueOccupied_regionsElementLat_range;
      56         [ +  - ]:         11 :     valueOccupied_regions.resize(1, valueOccupied_regionsElement);
      57         [ +  - ]:         11 :     value.occupied_regions = valueOccupied_regions;
      58                 :         11 :     ::ad::rss::world::Velocity valueVelocity;
      59                 :         11 :     ::ad::physics::Speed valueVelocitySpeed_lon_min(-100.);
      60                 :         11 :     valueVelocitySpeed_lon_min = ::ad::physics::Speed(0.); // set to valid value within struct
      61                 :         11 :     valueVelocity.speed_lon_min = valueVelocitySpeed_lon_min;
      62                 :         11 :     ::ad::physics::Speed valueVelocitySpeed_lon_max(-100.);
      63                 :         11 :     valueVelocity.speed_lon_max = valueVelocitySpeed_lon_max;
      64                 :         11 :     ::ad::physics::Speed valueVelocitySpeed_lat_min(-100.);
      65                 :         11 :     valueVelocity.speed_lat_min = valueVelocitySpeed_lat_min;
      66                 :         11 :     ::ad::physics::Speed valueVelocitySpeed_lat_max(-100.);
      67                 :         11 :     valueVelocity.speed_lat_max = valueVelocitySpeed_lat_max;
      68                 :         11 :     valueVelocity.speed_lon_max = valueVelocity.speed_lon_min;
      69                 :         11 :     valueVelocity.speed_lat_max = valueVelocity.speed_lat_min;
      70                 :         11 :     valueVelocity.speed_lon_min = valueVelocity.speed_lon_max;
      71                 :         11 :     valueVelocity.speed_lat_min = valueVelocity.speed_lat_max;
      72                 :         11 :     value.velocity = valueVelocity;
      73                 :         11 :     ::ad::rss::world::ObjectState valueState;
      74                 :         11 :     ::ad::physics::Angle valueStateYaw(-6.283185308);
      75                 :         11 :     valueState.yaw = valueStateYaw;
      76                 :         11 :     ::ad::physics::Dimension2D valueStateDimension;
      77                 :         11 :     ::ad::physics::Distance valueStateDimensionLength(-1e9);
      78                 :         11 :     valueStateDimension.length = valueStateDimensionLength;
      79                 :         11 :     ::ad::physics::Distance valueStateDimensionWidth(-1e9);
      80                 :         11 :     valueStateDimension.width = valueStateDimensionWidth;
      81                 :         11 :     valueState.dimension = valueStateDimension;
      82                 :         11 :     ::ad::physics::AngularVelocity valueStateYaw_rate(-100.);
      83                 :         11 :     valueState.yaw_rate = valueStateYaw_rate;
      84                 :         11 :     ::ad::physics::Distance2D valueStateCenter_point;
      85                 :         11 :     ::ad::physics::Distance valueStateCenter_pointX(-1e9);
      86                 :         11 :     valueStateCenter_point.x = valueStateCenter_pointX;
      87                 :         11 :     ::ad::physics::Distance valueStateCenter_pointY(-1e9);
      88                 :         11 :     valueStateCenter_point.y = valueStateCenter_pointY;
      89                 :         11 :     valueState.center_point = valueStateCenter_point;
      90                 :         11 :     ::ad::physics::SpeedRange valueStateSpeed_range;
      91                 :         11 :     ::ad::physics::Speed valueStateSpeed_rangeMinimum(-100.);
      92                 :         11 :     valueStateSpeed_range.minimum = valueStateSpeed_rangeMinimum;
      93                 :         11 :     ::ad::physics::Speed valueStateSpeed_rangeMaximum(-100.);
      94                 :         11 :     valueStateSpeed_range.maximum = valueStateSpeed_rangeMaximum;
      95                 :         11 :     valueStateSpeed_range.maximum = valueStateSpeed_range.minimum;
      96                 :         11 :     valueStateSpeed_range.minimum = valueStateSpeed_range.maximum;
      97                 :         11 :     valueState.speed_range = valueStateSpeed_range;
      98                 :         11 :     ::ad::physics::Angle valueStateSteering_angle(-6.283185308);
      99                 :         11 :     valueState.steering_angle = valueStateSteering_angle;
     100                 :         11 :     value.state = valueState;
     101         [ +  - ]:         11 :     mValue = value;
     102                 :         11 :   }
     103                 :            : 
     104                 :            :   ::ad::rss::world::Object mValue;
     105                 :            : };
     106                 :            : 
     107                 :          4 : TEST_F(ObjectTests, copyConstruction)
     108                 :            : {
     109         [ +  - ]:          1 :   ::ad::rss::world::Object value(mValue);
     110   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     111                 :          1 : }
     112                 :            : 
     113                 :          4 : TEST_F(ObjectTests, moveConstruction)
     114                 :            : {
     115         [ +  - ]:          1 :   ::ad::rss::world::Object tmpValue(mValue);
     116                 :          1 :   ::ad::rss::world::Object value(std::move(tmpValue));
     117   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     118                 :          1 : }
     119                 :            : 
     120                 :          4 : TEST_F(ObjectTests, copyAssignment)
     121                 :            : {
     122                 :          1 :   ::ad::rss::world::Object value;
     123         [ +  - ]:          1 :   value = mValue;
     124   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     125                 :          1 : }
     126                 :            : 
     127                 :          4 : TEST_F(ObjectTests, moveAssignment)
     128                 :            : {
     129         [ +  - ]:          1 :   ::ad::rss::world::Object tmpValue(mValue);
     130                 :          1 :   ::ad::rss::world::Object value;
     131                 :          1 :   value = std::move(tmpValue);
     132   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     133                 :          1 : }
     134                 :            : 
     135                 :          4 : TEST_F(ObjectTests, comparisonOperatorEqual)
     136                 :            : {
     137         [ +  - ]:          1 :   ::ad::rss::world::Object valueA = mValue;
     138         [ +  - ]:          1 :   ::ad::rss::world::Object valueB = mValue;
     139                 :            : 
     140   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     141   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     142                 :          1 : }
     143                 :            : 
     144                 :          4 : TEST_F(ObjectTests, stringConversionTest)
     145                 :            : {
     146         [ +  - ]:          1 :   std::stringstream stream;
     147         [ +  - ]:          1 :   stream << mValue;
     148         [ +  - ]:          1 :   std::string ostreamStr = stream.str();
     149         [ +  - ]:          1 :   std::string toStr = std::to_string(mValue);
     150   [ +  -  -  +  :          1 :   ASSERT_EQ(ostreamStr, toStr);
          -  -  -  -  -  
                -  +  - ]
     151   [ +  -  +  -  :          1 : }
                   +  - ]
     152                 :            : 
     153                 :          4 : TEST_F(ObjectTests, comparisonOperatorObject_idDiffers)
     154                 :            : {
     155         [ +  - ]:          1 :   ::ad::rss::world::Object valueA = mValue;
     156                 :          1 :   ::ad::rss::world::ObjectId object_id(std::numeric_limits<::ad::rss::world::ObjectId>::max());
     157                 :          1 :   valueA.object_id = object_id;
     158         [ +  - ]:          1 :   ::ad::rss::world::Object valueB = mValue;
     159                 :            : 
     160   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     161   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     162                 :          1 : }
     163                 :            : 
     164                 :          4 : TEST_F(ObjectTests, comparisonOperatorObject_typeDiffers)
     165                 :            : {
     166         [ +  - ]:          1 :   ::ad::rss::world::Object valueA = mValue;
     167                 :          1 :   ::ad::rss::world::ObjectType object_type(::ad::rss::world::ObjectType::OtherObject);
     168                 :          1 :   valueA.object_type = object_type;
     169         [ +  - ]:          1 :   ::ad::rss::world::Object valueB = mValue;
     170                 :            : 
     171   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     172   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     173                 :          1 : }
     174                 :            : 
     175                 :          4 : TEST_F(ObjectTests, comparisonOperatorOccupied_regionsDiffers)
     176                 :            : {
     177         [ +  - ]:          1 :   ::ad::rss::world::Object valueA = mValue;
     178                 :          1 :   ::ad::rss::world::OccupiedRegionVector occupied_regions;
     179                 :          1 :   ::ad::rss::world::OccupiedRegion occupied_regionsElement;
     180                 :          1 :   ::ad::rss::world::LaneSegmentId occupied_regionsElementSegment_id(
     181                 :            :     std::numeric_limits<::ad::rss::world::LaneSegmentId>::max());
     182                 :          1 :   occupied_regionsElement.segment_id = occupied_regionsElementSegment_id;
     183                 :          1 :   ::ad::physics::ParametricRange occupied_regionsElementLon_range;
     184                 :          1 :   ::ad::physics::ParametricValue occupied_regionsElementLon_rangeMinimum(1.);
     185                 :          1 :   occupied_regionsElementLon_range.minimum = occupied_regionsElementLon_rangeMinimum;
     186                 :          1 :   ::ad::physics::ParametricValue occupied_regionsElementLon_rangeMaximum(1.);
     187                 :          1 :   occupied_regionsElementLon_range.maximum = occupied_regionsElementLon_rangeMaximum;
     188                 :          1 :   occupied_regionsElementLon_range.maximum = occupied_regionsElementLon_range.minimum;
     189                 :          1 :   occupied_regionsElementLon_range.minimum = occupied_regionsElementLon_range.maximum;
     190                 :          1 :   occupied_regionsElement.lon_range = occupied_regionsElementLon_range;
     191                 :          1 :   ::ad::physics::ParametricRange occupied_regionsElementLat_range;
     192                 :          1 :   ::ad::physics::ParametricValue occupied_regionsElementLat_rangeMinimum(1.);
     193                 :          1 :   occupied_regionsElementLat_range.minimum = occupied_regionsElementLat_rangeMinimum;
     194                 :          1 :   ::ad::physics::ParametricValue occupied_regionsElementLat_rangeMaximum(1.);
     195                 :          1 :   occupied_regionsElementLat_range.maximum = occupied_regionsElementLat_rangeMaximum;
     196                 :          1 :   occupied_regionsElementLat_range.maximum = occupied_regionsElementLat_range.minimum;
     197                 :          1 :   occupied_regionsElementLat_range.minimum = occupied_regionsElementLat_range.maximum;
     198                 :          1 :   occupied_regionsElement.lat_range = occupied_regionsElementLat_range;
     199         [ +  - ]:          1 :   occupied_regions.resize(0 + 1, occupied_regionsElement);
     200         [ +  - ]:          1 :   valueA.occupied_regions = occupied_regions;
     201         [ +  - ]:          1 :   ::ad::rss::world::Object valueB = mValue;
     202                 :            : 
     203   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     204   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     205                 :          1 : }
     206                 :            : 
     207                 :          4 : TEST_F(ObjectTests, comparisonOperatorVelocityDiffers)
     208                 :            : {
     209         [ +  - ]:          1 :   ::ad::rss::world::Object valueA = mValue;
     210                 :          1 :   ::ad::rss::world::Velocity velocity;
     211                 :          1 :   ::ad::physics::Speed velocitySpeed_lon_min(100.);
     212                 :          1 :   velocity.speed_lon_min = velocitySpeed_lon_min;
     213                 :          1 :   ::ad::physics::Speed velocitySpeed_lon_max(100.);
     214                 :          1 :   velocity.speed_lon_max = velocitySpeed_lon_max;
     215                 :          1 :   ::ad::physics::Speed velocitySpeed_lat_min(100.);
     216                 :          1 :   velocity.speed_lat_min = velocitySpeed_lat_min;
     217                 :          1 :   ::ad::physics::Speed velocitySpeed_lat_max(100.);
     218                 :          1 :   velocity.speed_lat_max = velocitySpeed_lat_max;
     219                 :          1 :   velocity.speed_lat_max = velocity.speed_lat_min;
     220                 :          1 :   velocity.speed_lon_max = velocity.speed_lon_min;
     221                 :          1 :   velocity.speed_lat_min = velocity.speed_lat_max;
     222                 :          1 :   velocity.speed_lon_min = velocity.speed_lon_max;
     223                 :          1 :   valueA.velocity = velocity;
     224         [ +  - ]:          1 :   ::ad::rss::world::Object valueB = mValue;
     225                 :            : 
     226   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     227   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     228                 :          1 : }
     229                 :            : 
     230                 :          4 : TEST_F(ObjectTests, comparisonOperatorStateDiffers)
     231                 :            : {
     232         [ +  - ]:          1 :   ::ad::rss::world::Object valueA = mValue;
     233                 :          1 :   ::ad::rss::world::ObjectState state;
     234                 :          1 :   ::ad::physics::Angle stateYaw(6.283185308);
     235                 :          1 :   state.yaw = stateYaw;
     236                 :          1 :   ::ad::physics::Dimension2D stateDimension;
     237                 :          1 :   ::ad::physics::Distance stateDimensionLength(1e9);
     238                 :          1 :   stateDimension.length = stateDimensionLength;
     239                 :          1 :   ::ad::physics::Distance stateDimensionWidth(1e9);
     240                 :          1 :   stateDimension.width = stateDimensionWidth;
     241                 :          1 :   state.dimension = stateDimension;
     242                 :          1 :   ::ad::physics::AngularVelocity stateYaw_rate(100.);
     243                 :          1 :   state.yaw_rate = stateYaw_rate;
     244                 :          1 :   ::ad::physics::Distance2D stateCenter_point;
     245                 :          1 :   ::ad::physics::Distance stateCenter_pointX(1e9);
     246                 :          1 :   stateCenter_point.x = stateCenter_pointX;
     247                 :          1 :   ::ad::physics::Distance stateCenter_pointY(1e9);
     248                 :          1 :   stateCenter_point.y = stateCenter_pointY;
     249                 :          1 :   state.center_point = stateCenter_point;
     250                 :          1 :   ::ad::physics::SpeedRange stateSpeed_range;
     251                 :          1 :   ::ad::physics::Speed stateSpeed_rangeMinimum(100.);
     252                 :          1 :   stateSpeed_range.minimum = stateSpeed_rangeMinimum;
     253                 :          1 :   ::ad::physics::Speed stateSpeed_rangeMaximum(100.);
     254                 :          1 :   stateSpeed_range.maximum = stateSpeed_rangeMaximum;
     255                 :          1 :   stateSpeed_range.maximum = stateSpeed_range.minimum;
     256                 :          1 :   stateSpeed_range.minimum = stateSpeed_range.maximum;
     257                 :          1 :   state.speed_range = stateSpeed_range;
     258                 :          1 :   ::ad::physics::Angle stateSteering_angle(6.283185308);
     259                 :          1 :   state.steering_angle = stateSteering_angle;
     260                 :          1 :   valueA.state = state;
     261         [ +  - ]:          1 :   ::ad::rss::world::Object valueB = mValue;
     262                 :            : 
     263   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     264   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     265                 :          1 : }
     266                 :            : 
     267                 :            : #if defined(__clang__) && (__clang_major__ >= 7)
     268                 :            : #pragma GCC diagnostic pop
     269                 :            : #endif

Generated by: LCOV version 1.14