LCOV - code coverage report
Current view: top level - tests/generated/ad/rss/world - ObjectTests.cpp (source / functions) Hit Total Coverage
Test: ad_rss Lines: 191 191 100.0 %
Date: 2024-04-23 14:35:54 Functions: 23 23 100.0 %
Branches: 59 244 24.2 %

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  * ----------------- BEGIN LICENSE BLOCK ---------------------------------
       3                 :            :  *
       4                 :            :  * Copyright (C) 2018-2021 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                 :         22 :     ::ad::rss::world::Object value;
      31                 :         11 :     ::ad::rss::world::ObjectId valueObjectId(std::numeric_limits<::ad::rss::world::ObjectId>::lowest());
      32                 :         11 :     value.objectId = valueObjectId;
      33                 :         11 :     ::ad::rss::world::ObjectType valueObjectType(::ad::rss::world::ObjectType::Invalid);
      34                 :         11 :     value.objectType = valueObjectType;
      35                 :         22 :     ::ad::rss::world::OccupiedRegionVector valueOccupiedRegions;
      36                 :         11 :     ::ad::rss::world::OccupiedRegion valueOccupiedRegionsElement;
      37                 :         11 :     ::ad::rss::world::LaneSegmentId valueOccupiedRegionsElementSegmentId(
      38                 :            :       std::numeric_limits<::ad::rss::world::LaneSegmentId>::lowest());
      39                 :         11 :     valueOccupiedRegionsElement.segmentId = valueOccupiedRegionsElementSegmentId;
      40                 :         11 :     ::ad::physics::ParametricRange valueOccupiedRegionsElementLonRange;
      41                 :         11 :     ::ad::physics::ParametricValue valueOccupiedRegionsElementLonRangeMinimum(0.);
      42                 :         11 :     valueOccupiedRegionsElementLonRange.minimum = valueOccupiedRegionsElementLonRangeMinimum;
      43                 :         11 :     ::ad::physics::ParametricValue valueOccupiedRegionsElementLonRangeMaximum(0.);
      44                 :         11 :     valueOccupiedRegionsElementLonRange.maximum = valueOccupiedRegionsElementLonRangeMaximum;
      45                 :         11 :     valueOccupiedRegionsElementLonRange.maximum = valueOccupiedRegionsElementLonRange.minimum;
      46                 :         11 :     valueOccupiedRegionsElementLonRange.minimum = valueOccupiedRegionsElementLonRange.maximum;
      47                 :         11 :     valueOccupiedRegionsElement.lonRange = valueOccupiedRegionsElementLonRange;
      48                 :         11 :     ::ad::physics::ParametricRange valueOccupiedRegionsElementLatRange;
      49                 :         11 :     ::ad::physics::ParametricValue valueOccupiedRegionsElementLatRangeMinimum(0.);
      50                 :         11 :     valueOccupiedRegionsElementLatRange.minimum = valueOccupiedRegionsElementLatRangeMinimum;
      51                 :         11 :     ::ad::physics::ParametricValue valueOccupiedRegionsElementLatRangeMaximum(0.);
      52                 :         11 :     valueOccupiedRegionsElementLatRange.maximum = valueOccupiedRegionsElementLatRangeMaximum;
      53                 :         11 :     valueOccupiedRegionsElementLatRange.maximum = valueOccupiedRegionsElementLatRange.minimum;
      54                 :         11 :     valueOccupiedRegionsElementLatRange.minimum = valueOccupiedRegionsElementLatRange.maximum;
      55                 :         11 :     valueOccupiedRegionsElement.latRange = valueOccupiedRegionsElementLatRange;
      56         [ +  - ]:         11 :     valueOccupiedRegions.resize(1, valueOccupiedRegionsElement);
      57         [ +  - ]:         11 :     value.occupiedRegions = valueOccupiedRegions;
      58                 :         11 :     ::ad::rss::world::Velocity valueVelocity;
      59                 :         11 :     ::ad::physics::Speed valueVelocitySpeedLonMin(-100.);
      60                 :         11 :     valueVelocitySpeedLonMin = ::ad::physics::Speed(0.); // set to valid value within struct
      61                 :         11 :     valueVelocity.speedLonMin = valueVelocitySpeedLonMin;
      62                 :         11 :     ::ad::physics::Speed valueVelocitySpeedLonMax(-100.);
      63                 :         11 :     valueVelocity.speedLonMax = valueVelocitySpeedLonMax;
      64                 :         11 :     ::ad::physics::Speed valueVelocitySpeedLatMin(-100.);
      65                 :         11 :     valueVelocity.speedLatMin = valueVelocitySpeedLatMin;
      66                 :         11 :     ::ad::physics::Speed valueVelocitySpeedLatMax(-100.);
      67                 :         11 :     valueVelocity.speedLatMax = valueVelocitySpeedLatMax;
      68                 :         11 :     valueVelocity.speedLonMax = valueVelocity.speedLonMin;
      69                 :         11 :     valueVelocity.speedLatMax = valueVelocity.speedLatMin;
      70                 :         11 :     valueVelocity.speedLonMin = valueVelocity.speedLonMax;
      71                 :         11 :     valueVelocity.speedLatMin = valueVelocity.speedLatMax;
      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 valueStateYawRate(-100.);
      83                 :         11 :     valueState.yawRate = valueStateYawRate;
      84                 :         11 :     ::ad::physics::Distance2D valueStateCenterPoint;
      85                 :         11 :     ::ad::physics::Distance valueStateCenterPointX(-1e9);
      86                 :         11 :     valueStateCenterPoint.x = valueStateCenterPointX;
      87                 :         11 :     ::ad::physics::Distance valueStateCenterPointY(-1e9);
      88                 :         11 :     valueStateCenterPoint.y = valueStateCenterPointY;
      89                 :         11 :     valueState.centerPoint = valueStateCenterPoint;
      90                 :         11 :     ::ad::physics::Speed valueStateSpeed(-100.);
      91                 :         11 :     valueState.speed = valueStateSpeed;
      92                 :         11 :     ::ad::physics::Angle valueStateSteeringAngle(-6.283185308);
      93                 :         11 :     valueState.steeringAngle = valueStateSteeringAngle;
      94                 :         11 :     value.state = valueState;
      95         [ +  - ]:         11 :     mValue = value;
      96                 :         11 :   }
      97                 :            : 
      98                 :            :   ::ad::rss::world::Object mValue;
      99                 :            : };
     100                 :            : 
     101                 :          2 : TEST_F(ObjectTests, copyConstruction)
     102                 :            : {
     103         [ +  - ]:          2 :   ::ad::rss::world::Object value(mValue);
     104   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     105                 :          1 : }
     106                 :            : 
     107                 :          2 : TEST_F(ObjectTests, moveConstruction)
     108                 :            : {
     109         [ +  - ]:          2 :   ::ad::rss::world::Object tmpValue(mValue);
     110                 :          2 :   ::ad::rss::world::Object value(std::move(tmpValue));
     111   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     112                 :          1 : }
     113                 :            : 
     114                 :          2 : TEST_F(ObjectTests, copyAssignment)
     115                 :            : {
     116                 :          2 :   ::ad::rss::world::Object value;
     117         [ +  - ]:          1 :   value = mValue;
     118   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     119                 :          1 : }
     120                 :            : 
     121                 :          2 : TEST_F(ObjectTests, moveAssignment)
     122                 :            : {
     123         [ +  - ]:          2 :   ::ad::rss::world::Object tmpValue(mValue);
     124                 :          2 :   ::ad::rss::world::Object value;
     125                 :          1 :   value = std::move(tmpValue);
     126   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     127                 :          1 : }
     128                 :            : 
     129                 :          2 : TEST_F(ObjectTests, comparisonOperatorEqual)
     130                 :            : {
     131         [ +  - ]:          2 :   ::ad::rss::world::Object valueA = mValue;
     132         [ +  - ]:          2 :   ::ad::rss::world::Object valueB = mValue;
     133                 :            : 
     134   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     135   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     136                 :          1 : }
     137                 :            : 
     138                 :          2 : TEST_F(ObjectTests, stringConversionTest)
     139                 :            : {
     140         [ +  - ]:          1 :   std::stringstream stream;
     141         [ +  - ]:          1 :   stream << mValue;
     142         [ +  - ]:          1 :   std::string ostreamStr = stream.str();
     143         [ +  - ]:          1 :   std::string toStr = std::to_string(mValue);
     144   [ +  -  -  +  :          1 :   ASSERT_EQ(ostreamStr, toStr);
          -  -  -  -  -  
                      - ]
     145                 :            : }
     146                 :            : 
     147                 :          2 : TEST_F(ObjectTests, comparisonOperatorObjectIdDiffers)
     148                 :            : {
     149         [ +  - ]:          2 :   ::ad::rss::world::Object valueA = mValue;
     150                 :          1 :   ::ad::rss::world::ObjectId objectId(std::numeric_limits<::ad::rss::world::ObjectId>::max());
     151                 :          1 :   valueA.objectId = objectId;
     152         [ +  - ]:          2 :   ::ad::rss::world::Object valueB = mValue;
     153                 :            : 
     154   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     155   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     156                 :          1 : }
     157                 :            : 
     158                 :          2 : TEST_F(ObjectTests, comparisonOperatorObjectTypeDiffers)
     159                 :            : {
     160         [ +  - ]:          2 :   ::ad::rss::world::Object valueA = mValue;
     161                 :          1 :   ::ad::rss::world::ObjectType objectType(::ad::rss::world::ObjectType::ArtificialObject);
     162                 :          1 :   valueA.objectType = objectType;
     163         [ +  - ]:          2 :   ::ad::rss::world::Object valueB = mValue;
     164                 :            : 
     165   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     166   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     167                 :          1 : }
     168                 :            : 
     169                 :          2 : TEST_F(ObjectTests, comparisonOperatorOccupiedRegionsDiffers)
     170                 :            : {
     171         [ +  - ]:          2 :   ::ad::rss::world::Object valueA = mValue;
     172                 :          2 :   ::ad::rss::world::OccupiedRegionVector occupiedRegions;
     173                 :          1 :   ::ad::rss::world::OccupiedRegion occupiedRegionsElement;
     174                 :          1 :   ::ad::rss::world::LaneSegmentId occupiedRegionsElementSegmentId(
     175                 :            :     std::numeric_limits<::ad::rss::world::LaneSegmentId>::max());
     176                 :          1 :   occupiedRegionsElement.segmentId = occupiedRegionsElementSegmentId;
     177                 :          1 :   ::ad::physics::ParametricRange occupiedRegionsElementLonRange;
     178                 :          1 :   ::ad::physics::ParametricValue occupiedRegionsElementLonRangeMinimum(1.);
     179                 :          1 :   occupiedRegionsElementLonRange.minimum = occupiedRegionsElementLonRangeMinimum;
     180                 :          1 :   ::ad::physics::ParametricValue occupiedRegionsElementLonRangeMaximum(1.);
     181                 :          1 :   occupiedRegionsElementLonRange.maximum = occupiedRegionsElementLonRangeMaximum;
     182                 :          1 :   occupiedRegionsElementLonRange.maximum = occupiedRegionsElementLonRange.minimum;
     183                 :          1 :   occupiedRegionsElementLonRange.minimum = occupiedRegionsElementLonRange.maximum;
     184                 :          1 :   occupiedRegionsElement.lonRange = occupiedRegionsElementLonRange;
     185                 :          1 :   ::ad::physics::ParametricRange occupiedRegionsElementLatRange;
     186                 :          1 :   ::ad::physics::ParametricValue occupiedRegionsElementLatRangeMinimum(1.);
     187                 :          1 :   occupiedRegionsElementLatRange.minimum = occupiedRegionsElementLatRangeMinimum;
     188                 :          1 :   ::ad::physics::ParametricValue occupiedRegionsElementLatRangeMaximum(1.);
     189                 :          1 :   occupiedRegionsElementLatRange.maximum = occupiedRegionsElementLatRangeMaximum;
     190                 :          1 :   occupiedRegionsElementLatRange.maximum = occupiedRegionsElementLatRange.minimum;
     191                 :          1 :   occupiedRegionsElementLatRange.minimum = occupiedRegionsElementLatRange.maximum;
     192                 :          1 :   occupiedRegionsElement.latRange = occupiedRegionsElementLatRange;
     193         [ +  - ]:          1 :   occupiedRegions.resize(0 + 1, occupiedRegionsElement);
     194         [ +  - ]:          1 :   valueA.occupiedRegions = occupiedRegions;
     195         [ +  - ]:          2 :   ::ad::rss::world::Object valueB = mValue;
     196                 :            : 
     197   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     198   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     199                 :          1 : }
     200                 :            : 
     201                 :          2 : TEST_F(ObjectTests, comparisonOperatorVelocityDiffers)
     202                 :            : {
     203         [ +  - ]:          2 :   ::ad::rss::world::Object valueA = mValue;
     204                 :          1 :   ::ad::rss::world::Velocity velocity;
     205                 :          1 :   ::ad::physics::Speed velocitySpeedLonMin(100.);
     206                 :          1 :   velocity.speedLonMin = velocitySpeedLonMin;
     207                 :          1 :   ::ad::physics::Speed velocitySpeedLonMax(100.);
     208                 :          1 :   velocity.speedLonMax = velocitySpeedLonMax;
     209                 :          1 :   ::ad::physics::Speed velocitySpeedLatMin(100.);
     210                 :          1 :   velocity.speedLatMin = velocitySpeedLatMin;
     211                 :          1 :   ::ad::physics::Speed velocitySpeedLatMax(100.);
     212                 :          1 :   velocity.speedLatMax = velocitySpeedLatMax;
     213                 :          1 :   velocity.speedLatMax = velocity.speedLatMin;
     214                 :          1 :   velocity.speedLonMax = velocity.speedLonMin;
     215                 :          1 :   velocity.speedLatMin = velocity.speedLatMax;
     216                 :          1 :   velocity.speedLonMin = velocity.speedLonMax;
     217                 :          1 :   valueA.velocity = velocity;
     218         [ +  - ]:          2 :   ::ad::rss::world::Object valueB = mValue;
     219                 :            : 
     220   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     221   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     222                 :          1 : }
     223                 :            : 
     224                 :          2 : TEST_F(ObjectTests, comparisonOperatorStateDiffers)
     225                 :            : {
     226         [ +  - ]:          2 :   ::ad::rss::world::Object valueA = mValue;
     227                 :          1 :   ::ad::rss::world::ObjectState state;
     228                 :          1 :   ::ad::physics::Angle stateYaw(6.283185308);
     229                 :          1 :   state.yaw = stateYaw;
     230                 :          1 :   ::ad::physics::Dimension2D stateDimension;
     231                 :          1 :   ::ad::physics::Distance stateDimensionLength(1e9);
     232                 :          1 :   stateDimension.length = stateDimensionLength;
     233                 :          1 :   ::ad::physics::Distance stateDimensionWidth(1e9);
     234                 :          1 :   stateDimension.width = stateDimensionWidth;
     235                 :          1 :   state.dimension = stateDimension;
     236                 :          1 :   ::ad::physics::AngularVelocity stateYawRate(100.);
     237                 :          1 :   state.yawRate = stateYawRate;
     238                 :          1 :   ::ad::physics::Distance2D stateCenterPoint;
     239                 :          1 :   ::ad::physics::Distance stateCenterPointX(1e9);
     240                 :          1 :   stateCenterPoint.x = stateCenterPointX;
     241                 :          1 :   ::ad::physics::Distance stateCenterPointY(1e9);
     242                 :          1 :   stateCenterPoint.y = stateCenterPointY;
     243                 :          1 :   state.centerPoint = stateCenterPoint;
     244                 :          1 :   ::ad::physics::Speed stateSpeed(100.);
     245                 :          1 :   state.speed = stateSpeed;
     246                 :          1 :   ::ad::physics::Angle stateSteeringAngle(6.283185308);
     247                 :          1 :   state.steeringAngle = stateSteeringAngle;
     248                 :          1 :   valueA.state = state;
     249         [ +  - ]:          2 :   ::ad::rss::world::Object valueB = mValue;
     250                 :            : 
     251   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     252   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     253                 :          1 : }
     254                 :            : 
     255                 :            : #if defined(__clang__) && (__clang_major__ >= 7)
     256                 :            : #pragma GCC diagnostic pop
     257                 :            : #endif

Generated by: LCOV version 1.14