LCOV - code coverage report
Current view: top level - tests/generated/ad/rss/situation - VehicleStateTests.cpp (source / functions) Hit Total Coverage
Test: ad_rss Lines: 315 315 100.0 %
Date: 2024-03-25 17:12:56 Functions: 29 29 100.0 %
Branches: 50 274 18.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/situation/VehicleState.hpp"
      23                 :            : 
      24                 :            : class VehicleStateTests : public testing::Test
      25                 :            : {
      26                 :            : protected:
      27                 :         14 :   virtual void SetUp() override
      28                 :            :   {
      29                 :            :     // valid initialization
      30                 :         14 :     ::ad::rss::situation::VehicleState value;
      31                 :         14 :     ::ad::rss::situation::VelocityRange valueVelocity;
      32                 :         14 :     ::ad::physics::SpeedRange valueVelocitySpeedLon;
      33                 :         14 :     ::ad::physics::Speed valueVelocitySpeedLonMinimum(-100.);
      34                 :         14 :     valueVelocitySpeedLon.minimum = valueVelocitySpeedLonMinimum;
      35                 :         14 :     ::ad::physics::Speed valueVelocitySpeedLonMaximum(-100.);
      36                 :         14 :     valueVelocitySpeedLon.maximum = valueVelocitySpeedLonMaximum;
      37                 :         14 :     valueVelocitySpeedLon.maximum = valueVelocitySpeedLon.minimum;
      38                 :         14 :     valueVelocitySpeedLon.minimum = valueVelocitySpeedLon.maximum;
      39                 :         14 :     valueVelocity.speedLon = valueVelocitySpeedLon;
      40                 :         14 :     ::ad::physics::SpeedRange valueVelocitySpeedLat;
      41                 :         14 :     ::ad::physics::Speed valueVelocitySpeedLatMinimum(-100.);
      42                 :         14 :     valueVelocitySpeedLat.minimum = valueVelocitySpeedLatMinimum;
      43                 :         14 :     ::ad::physics::Speed valueVelocitySpeedLatMaximum(-100.);
      44                 :         14 :     valueVelocitySpeedLat.maximum = valueVelocitySpeedLatMaximum;
      45                 :         14 :     valueVelocitySpeedLat.maximum = valueVelocitySpeedLat.minimum;
      46                 :         14 :     valueVelocitySpeedLat.minimum = valueVelocitySpeedLat.maximum;
      47                 :         14 :     valueVelocity.speedLat = valueVelocitySpeedLat;
      48                 :         14 :     value.velocity = valueVelocity;
      49                 :         14 :     ::ad::rss::world::RssDynamics valueDynamics;
      50                 :         14 :     ::ad::rss::world::LongitudinalRssAccelerationValues valueDynamicsAlphaLon;
      51                 :         14 :     ::ad::physics::Acceleration valueDynamicsAlphaLonAccelMax(-1e2);
      52                 :         14 :     valueDynamicsAlphaLonAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct
      53                 :         14 :     valueDynamicsAlphaLon.accelMax = valueDynamicsAlphaLonAccelMax;
      54                 :         14 :     ::ad::physics::Acceleration valueDynamicsAlphaLonBrakeMax(-1e2);
      55                 :         14 :     valueDynamicsAlphaLon.brakeMax = valueDynamicsAlphaLonBrakeMax;
      56                 :         14 :     ::ad::physics::Acceleration valueDynamicsAlphaLonBrakeMin(-1e2);
      57                 :         14 :     valueDynamicsAlphaLon.brakeMin = valueDynamicsAlphaLonBrakeMin;
      58                 :         14 :     ::ad::physics::Acceleration valueDynamicsAlphaLonBrakeMinCorrect(-1e2);
      59                 :         14 :     valueDynamicsAlphaLon.brakeMinCorrect = valueDynamicsAlphaLonBrakeMinCorrect;
      60                 :         14 :     valueDynamicsAlphaLon.brakeMin = valueDynamicsAlphaLon.brakeMax;
      61                 :         14 :     valueDynamicsAlphaLon.brakeMinCorrect = valueDynamicsAlphaLon.brakeMin;
      62                 :         14 :     valueDynamicsAlphaLon.brakeMin = valueDynamicsAlphaLon.brakeMinCorrect;
      63                 :         14 :     valueDynamicsAlphaLon.brakeMax = valueDynamicsAlphaLon.brakeMin;
      64                 :         14 :     valueDynamics.alphaLon = valueDynamicsAlphaLon;
      65                 :         14 :     ::ad::rss::world::LateralRssAccelerationValues valueDynamicsAlphaLat;
      66                 :         14 :     ::ad::physics::Acceleration valueDynamicsAlphaLatAccelMax(-1e2);
      67                 :         14 :     valueDynamicsAlphaLatAccelMax = ::ad::physics::Acceleration(0.); // set to valid value within struct
      68                 :         14 :     valueDynamicsAlphaLat.accelMax = valueDynamicsAlphaLatAccelMax;
      69                 :         14 :     ::ad::physics::Acceleration valueDynamicsAlphaLatBrakeMin(-1e2);
      70                 :         14 :     valueDynamicsAlphaLat.brakeMin = valueDynamicsAlphaLatBrakeMin;
      71                 :         14 :     valueDynamics.alphaLat = valueDynamicsAlphaLat;
      72                 :         14 :     ::ad::physics::Distance valueDynamicsLateralFluctuationMargin(-1e9);
      73                 :         14 :     valueDynamicsLateralFluctuationMargin = ::ad::physics::Distance(0.); // set to valid value within struct
      74                 :         14 :     valueDynamics.lateralFluctuationMargin = valueDynamicsLateralFluctuationMargin;
      75                 :         14 :     ::ad::physics::Duration valueDynamicsResponseTime(0.);
      76                 :            :     valueDynamicsResponseTime
      77                 :         14 :       = ::ad::physics::Duration(0. + ::ad::physics::Duration::cPrecisionValue); // set to valid value within struct
      78                 :         14 :     valueDynamics.responseTime = valueDynamicsResponseTime;
      79                 :         14 :     ::ad::physics::Speed valueDynamicsMaxSpeedOnAcceleration(-100.);
      80                 :         14 :     valueDynamics.maxSpeedOnAcceleration = valueDynamicsMaxSpeedOnAcceleration;
      81                 :         14 :     ::ad::rss::world::UnstructuredSettings valueDynamicsUnstructuredSettings;
      82                 :         14 :     ::ad::physics::Distance valueDynamicsUnstructuredSettingsPedestrianTurningRadius(-1e9);
      83                 :            :     valueDynamicsUnstructuredSettings.pedestrianTurningRadius
      84                 :         14 :       = valueDynamicsUnstructuredSettingsPedestrianTurningRadius;
      85                 :         14 :     ::ad::physics::Angle valueDynamicsUnstructuredSettingsDriveAwayMaxAngle(-6.283185308);
      86                 :         14 :     valueDynamicsUnstructuredSettings.driveAwayMaxAngle = valueDynamicsUnstructuredSettingsDriveAwayMaxAngle;
      87                 :         14 :     ::ad::physics::AngularAcceleration valueDynamicsUnstructuredSettingsVehicleYawRateChange(-1e2);
      88                 :         14 :     valueDynamicsUnstructuredSettings.vehicleYawRateChange = valueDynamicsUnstructuredSettingsVehicleYawRateChange;
      89                 :         14 :     ::ad::physics::Distance valueDynamicsUnstructuredSettingsVehicleMinRadius(-1e9);
      90                 :         14 :     valueDynamicsUnstructuredSettings.vehicleMinRadius = valueDynamicsUnstructuredSettingsVehicleMinRadius;
      91                 :         14 :     ::ad::physics::Duration valueDynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep(0.);
      92                 :            :     valueDynamicsUnstructuredSettings.vehicleTrajectoryCalculationStep
      93                 :         14 :       = valueDynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep;
      94                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{
      95                 :            :       std::numeric_limits<uint32_t>::min()};
      96                 :            :     valueDynamicsUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps
      97                 :         14 :       = valueDynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps;
      98                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{
      99                 :            :       std::numeric_limits<uint32_t>::min()};
     100                 :            :     valueDynamicsUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps
     101                 :         14 :       = valueDynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps;
     102                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{
     103                 :            :       std::numeric_limits<uint32_t>::min()};
     104                 :            :     valueDynamicsUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps
     105                 :         14 :       = valueDynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps;
     106                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{
     107                 :            :       std::numeric_limits<uint32_t>::min()};
     108                 :            :     valueDynamicsUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps
     109                 :         14 :       = valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps;
     110                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{
     111                 :            :       std::numeric_limits<uint32_t>::min()};
     112                 :            :     valueDynamicsUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps
     113                 :         14 :       = valueDynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps;
     114                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{
     115                 :            :       std::numeric_limits<uint32_t>::min()};
     116                 :            :     valueDynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps
     117                 :         14 :       = valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps;
     118                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{
     119                 :            :       std::numeric_limits<uint32_t>::min()};
     120                 :            :     valueDynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps
     121                 :         14 :       = valueDynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps;
     122                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{
     123                 :            :       std::numeric_limits<uint32_t>::min()};
     124                 :            :     valueDynamicsUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps
     125                 :         14 :       = valueDynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps;
     126                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{
     127                 :            :       std::numeric_limits<uint32_t>::min()};
     128                 :            :     valueDynamicsUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps
     129                 :         14 :       = valueDynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps;
     130                 :         14 :     uint32_t valueDynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{
     131                 :            :       std::numeric_limits<uint32_t>::min()};
     132                 :            :     valueDynamicsUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps
     133                 :         14 :       = valueDynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps;
     134                 :         14 :     valueDynamics.unstructuredSettings = valueDynamicsUnstructuredSettings;
     135                 :         14 :     value.dynamics = valueDynamics;
     136                 :         14 :     bool valueHasPriority{true};
     137                 :         14 :     value.hasPriority = valueHasPriority;
     138                 :         14 :     bool valueIsInCorrectLane{true};
     139                 :         14 :     value.isInCorrectLane = valueIsInCorrectLane;
     140                 :         14 :     ::ad::physics::Distance valueDistanceToEnterIntersection(-1e9);
     141                 :         14 :     valueDistanceToEnterIntersection = ::ad::physics::Distance(0.); // set to valid value within struct
     142                 :         14 :     value.distanceToEnterIntersection = valueDistanceToEnterIntersection;
     143                 :         14 :     ::ad::physics::Distance valueDistanceToLeaveIntersection(-1e9);
     144                 :         14 :     value.distanceToLeaveIntersection = valueDistanceToLeaveIntersection;
     145                 :         14 :     ::ad::rss::world::ObjectType valueObjectType(::ad::rss::world::ObjectType::Invalid);
     146                 :         14 :     value.objectType = valueObjectType;
     147                 :         14 :     ::ad::rss::world::ObjectState valueObjectState;
     148                 :         14 :     ::ad::physics::Angle valueObjectStateYaw(-6.283185308);
     149                 :         14 :     valueObjectState.yaw = valueObjectStateYaw;
     150                 :         14 :     ::ad::physics::Dimension2D valueObjectStateDimension;
     151                 :         14 :     ::ad::physics::Distance valueObjectStateDimensionLength(-1e9);
     152                 :         14 :     valueObjectStateDimension.length = valueObjectStateDimensionLength;
     153                 :         14 :     ::ad::physics::Distance valueObjectStateDimensionWidth(-1e9);
     154                 :         14 :     valueObjectStateDimension.width = valueObjectStateDimensionWidth;
     155                 :         14 :     valueObjectState.dimension = valueObjectStateDimension;
     156                 :         14 :     ::ad::physics::AngularVelocity valueObjectStateYawRate(-100.);
     157                 :         14 :     valueObjectState.yawRate = valueObjectStateYawRate;
     158                 :         14 :     ::ad::physics::Distance2D valueObjectStateCenterPoint;
     159                 :         14 :     ::ad::physics::Distance valueObjectStateCenterPointX(-1e9);
     160                 :         14 :     valueObjectStateCenterPoint.x = valueObjectStateCenterPointX;
     161                 :         14 :     ::ad::physics::Distance valueObjectStateCenterPointY(-1e9);
     162                 :         14 :     valueObjectStateCenterPoint.y = valueObjectStateCenterPointY;
     163                 :         14 :     valueObjectState.centerPoint = valueObjectStateCenterPoint;
     164                 :         14 :     ::ad::physics::Speed valueObjectStateSpeed(-100.);
     165                 :         14 :     valueObjectState.speed = valueObjectStateSpeed;
     166                 :         14 :     ::ad::physics::Angle valueObjectStateSteeringAngle(-6.283185308);
     167                 :         14 :     valueObjectState.steeringAngle = valueObjectStateSteeringAngle;
     168                 :         14 :     value.objectState = valueObjectState;
     169                 :         14 :     value.distanceToLeaveIntersection = value.distanceToEnterIntersection;
     170                 :         14 :     value.distanceToEnterIntersection = value.distanceToLeaveIntersection;
     171                 :         14 :     mValue = value;
     172                 :         14 :   }
     173                 :            : 
     174                 :            :   ::ad::rss::situation::VehicleState mValue;
     175                 :            : };
     176                 :            : 
     177                 :          2 : TEST_F(VehicleStateTests, copyConstruction)
     178                 :            : {
     179                 :          1 :   ::ad::rss::situation::VehicleState value(mValue);
     180   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     181                 :          1 : }
     182                 :            : 
     183                 :          2 : TEST_F(VehicleStateTests, moveConstruction)
     184                 :            : {
     185                 :          1 :   ::ad::rss::situation::VehicleState tmpValue(mValue);
     186                 :          1 :   ::ad::rss::situation::VehicleState value(std::move(tmpValue));
     187   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     188                 :          1 : }
     189                 :            : 
     190                 :          2 : TEST_F(VehicleStateTests, copyAssignment)
     191                 :            : {
     192                 :          1 :   ::ad::rss::situation::VehicleState value;
     193                 :          1 :   value = mValue;
     194   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     195                 :          1 : }
     196                 :            : 
     197                 :          2 : TEST_F(VehicleStateTests, moveAssignment)
     198                 :            : {
     199                 :          1 :   ::ad::rss::situation::VehicleState tmpValue(mValue);
     200                 :          1 :   ::ad::rss::situation::VehicleState value;
     201                 :          1 :   value = std::move(tmpValue);
     202   [ +  -  -  +  :          1 :   EXPECT_EQ(mValue, value);
          -  -  -  -  -  
                      - ]
     203                 :          1 : }
     204                 :            : 
     205                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorEqual)
     206                 :            : {
     207                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     208                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     209                 :            : 
     210   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     211   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     212                 :          1 : }
     213                 :            : 
     214                 :          2 : TEST_F(VehicleStateTests, stringConversionTest)
     215                 :            : {
     216         [ +  - ]:          1 :   std::stringstream stream;
     217         [ +  - ]:          1 :   stream << mValue;
     218         [ +  - ]:          1 :   std::string ostreamStr = stream.str();
     219         [ +  - ]:          1 :   std::string toStr = std::to_string(mValue);
     220   [ +  -  -  +  :          1 :   ASSERT_EQ(ostreamStr, toStr);
          -  -  -  -  -  
                      - ]
     221                 :            : }
     222                 :            : 
     223                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorVelocityDiffers)
     224                 :            : {
     225                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     226                 :          1 :   ::ad::rss::situation::VelocityRange velocity;
     227                 :          1 :   ::ad::physics::SpeedRange velocitySpeedLon;
     228                 :          1 :   ::ad::physics::Speed velocitySpeedLonMinimum(100.);
     229                 :          1 :   velocitySpeedLon.minimum = velocitySpeedLonMinimum;
     230                 :          1 :   ::ad::physics::Speed velocitySpeedLonMaximum(100.);
     231                 :          1 :   velocitySpeedLon.maximum = velocitySpeedLonMaximum;
     232                 :          1 :   velocitySpeedLon.maximum = velocitySpeedLon.minimum;
     233                 :          1 :   velocitySpeedLon.minimum = velocitySpeedLon.maximum;
     234                 :          1 :   velocity.speedLon = velocitySpeedLon;
     235                 :          1 :   ::ad::physics::SpeedRange velocitySpeedLat;
     236                 :          1 :   ::ad::physics::Speed velocitySpeedLatMinimum(100.);
     237                 :          1 :   velocitySpeedLat.minimum = velocitySpeedLatMinimum;
     238                 :          1 :   ::ad::physics::Speed velocitySpeedLatMaximum(100.);
     239                 :          1 :   velocitySpeedLat.maximum = velocitySpeedLatMaximum;
     240                 :          1 :   velocitySpeedLat.maximum = velocitySpeedLat.minimum;
     241                 :          1 :   velocitySpeedLat.minimum = velocitySpeedLat.maximum;
     242                 :          1 :   velocity.speedLat = velocitySpeedLat;
     243                 :          1 :   valueA.velocity = velocity;
     244                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     245                 :            : 
     246   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     247   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     248                 :          1 : }
     249                 :            : 
     250                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorDynamicsDiffers)
     251                 :            : {
     252                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     253                 :          1 :   ::ad::rss::world::RssDynamics dynamics;
     254                 :          1 :   ::ad::rss::world::LongitudinalRssAccelerationValues dynamicsAlphaLon;
     255                 :          1 :   ::ad::physics::Acceleration dynamicsAlphaLonAccelMax(1e2);
     256                 :          1 :   dynamicsAlphaLon.accelMax = dynamicsAlphaLonAccelMax;
     257                 :          1 :   ::ad::physics::Acceleration dynamicsAlphaLonBrakeMax(1e2);
     258                 :          1 :   dynamicsAlphaLon.brakeMax = dynamicsAlphaLonBrakeMax;
     259                 :          1 :   ::ad::physics::Acceleration dynamicsAlphaLonBrakeMin(1e2);
     260                 :          1 :   dynamicsAlphaLon.brakeMin = dynamicsAlphaLonBrakeMin;
     261                 :          1 :   ::ad::physics::Acceleration dynamicsAlphaLonBrakeMinCorrect(1e2);
     262                 :          1 :   dynamicsAlphaLonBrakeMinCorrect = ::ad::physics::Acceleration(0. * 0.9); // set to valid value within struct
     263                 :          1 :   dynamicsAlphaLon.brakeMinCorrect = dynamicsAlphaLonBrakeMinCorrect;
     264                 :          1 :   dynamicsAlphaLon.brakeMinCorrect = dynamicsAlphaLon.brakeMin;
     265                 :          1 :   dynamicsAlphaLon.brakeMin = dynamicsAlphaLon.brakeMax;
     266                 :          1 :   dynamicsAlphaLon.brakeMax = dynamicsAlphaLon.brakeMin;
     267                 :          1 :   dynamicsAlphaLon.brakeMin = dynamicsAlphaLon.brakeMinCorrect;
     268                 :          1 :   dynamics.alphaLon = dynamicsAlphaLon;
     269                 :          1 :   ::ad::rss::world::LateralRssAccelerationValues dynamicsAlphaLat;
     270                 :          1 :   ::ad::physics::Acceleration dynamicsAlphaLatAccelMax(1e2);
     271                 :          1 :   dynamicsAlphaLat.accelMax = dynamicsAlphaLatAccelMax;
     272                 :          1 :   ::ad::physics::Acceleration dynamicsAlphaLatBrakeMin(1e2);
     273                 :          1 :   dynamicsAlphaLatBrakeMin = ::ad::physics::Acceleration(0. * 0.9); // set to valid value within struct
     274                 :          1 :   dynamicsAlphaLat.brakeMin = dynamicsAlphaLatBrakeMin;
     275                 :          1 :   dynamics.alphaLat = dynamicsAlphaLat;
     276                 :          1 :   ::ad::physics::Distance dynamicsLateralFluctuationMargin(1e9);
     277                 :          1 :   dynamicsLateralFluctuationMargin = ::ad::physics::Distance(1.); // set to valid value within struct
     278                 :          1 :   dynamics.lateralFluctuationMargin = dynamicsLateralFluctuationMargin;
     279                 :          1 :   ::ad::physics::Duration dynamicsResponseTime(1e6);
     280                 :          1 :   dynamicsResponseTime = ::ad::physics::Duration(10.); // set to valid value within struct
     281                 :          1 :   dynamics.responseTime = dynamicsResponseTime;
     282                 :          1 :   ::ad::physics::Speed dynamicsMaxSpeedOnAcceleration(100.);
     283                 :          1 :   dynamics.maxSpeedOnAcceleration = dynamicsMaxSpeedOnAcceleration;
     284                 :          1 :   ::ad::rss::world::UnstructuredSettings dynamicsUnstructuredSettings;
     285                 :          1 :   ::ad::physics::Distance dynamicsUnstructuredSettingsPedestrianTurningRadius(1e9);
     286                 :          1 :   dynamicsUnstructuredSettings.pedestrianTurningRadius = dynamicsUnstructuredSettingsPedestrianTurningRadius;
     287                 :          1 :   ::ad::physics::Angle dynamicsUnstructuredSettingsDriveAwayMaxAngle(6.283185308);
     288                 :          1 :   dynamicsUnstructuredSettings.driveAwayMaxAngle = dynamicsUnstructuredSettingsDriveAwayMaxAngle;
     289                 :          1 :   ::ad::physics::AngularAcceleration dynamicsUnstructuredSettingsVehicleYawRateChange(1e2);
     290                 :          1 :   dynamicsUnstructuredSettings.vehicleYawRateChange = dynamicsUnstructuredSettingsVehicleYawRateChange;
     291                 :          1 :   ::ad::physics::Distance dynamicsUnstructuredSettingsVehicleMinRadius(1e9);
     292                 :          1 :   dynamicsUnstructuredSettings.vehicleMinRadius = dynamicsUnstructuredSettingsVehicleMinRadius;
     293                 :          1 :   ::ad::physics::Duration dynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep(1e6);
     294                 :            :   dynamicsUnstructuredSettings.vehicleTrajectoryCalculationStep
     295                 :          1 :     = dynamicsUnstructuredSettingsVehicleTrajectoryCalculationStep;
     296                 :          1 :   uint32_t dynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps{
     297                 :            :     std::numeric_limits<uint32_t>::max()};
     298                 :            :   dynamicsUnstructuredSettings.vehicleFrontIntermediateYawRateChangeRatioSteps
     299                 :          1 :     = dynamicsUnstructuredSettingsVehicleFrontIntermediateYawRateChangeRatioSteps;
     300                 :          1 :   uint32_t dynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps{
     301                 :            :     std::numeric_limits<uint32_t>::max()};
     302                 :            :   dynamicsUnstructuredSettings.vehicleBackIntermediateYawRateChangeRatioSteps
     303                 :          1 :     = dynamicsUnstructuredSettingsVehicleBackIntermediateYawRateChangeRatioSteps;
     304                 :          1 :   uint32_t dynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps{std::numeric_limits<uint32_t>::max()};
     305                 :            :   dynamicsUnstructuredSettings.vehicleBrakeIntermediateAccelerationSteps
     306                 :          1 :     = dynamicsUnstructuredSettingsVehicleBrakeIntermediateAccelerationSteps;
     307                 :          1 :   uint32_t dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps{
     308                 :            :     std::numeric_limits<uint32_t>::max()};
     309                 :            :   dynamicsUnstructuredSettings.vehicleContinueForwardIntermediateAccelerationSteps
     310                 :          1 :     = dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateAccelerationSteps;
     311                 :          1 :   uint32_t dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps{
     312                 :            :     std::numeric_limits<uint32_t>::max()};
     313                 :            :   dynamicsUnstructuredSettings.vehicleContinueForwardIntermediateYawRateChangeRatioSteps
     314                 :          1 :     = dynamicsUnstructuredSettingsVehicleContinueForwardIntermediateYawRateChangeRatioSteps;
     315                 :          1 :   uint32_t dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps{
     316                 :            :     std::numeric_limits<uint32_t>::max()};
     317                 :            :   dynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateHeadingChangeRatioSteps
     318                 :          1 :     = dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateHeadingChangeRatioSteps;
     319                 :          1 :   uint32_t dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps{
     320                 :            :     std::numeric_limits<uint32_t>::max()};
     321                 :            :   dynamicsUnstructuredSettings.pedestrianContinueForwardIntermediateAccelerationSteps
     322                 :          1 :     = dynamicsUnstructuredSettingsPedestrianContinueForwardIntermediateAccelerationSteps;
     323                 :          1 :   uint32_t dynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps{
     324                 :            :     std::numeric_limits<uint32_t>::max()};
     325                 :            :   dynamicsUnstructuredSettings.pedestrianBrakeIntermediateAccelerationSteps
     326                 :          1 :     = dynamicsUnstructuredSettingsPedestrianBrakeIntermediateAccelerationSteps;
     327                 :          1 :   uint32_t dynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps{
     328                 :            :     std::numeric_limits<uint32_t>::max()};
     329                 :            :   dynamicsUnstructuredSettings.pedestrianFrontIntermediateHeadingChangeRatioSteps
     330                 :          1 :     = dynamicsUnstructuredSettingsPedestrianFrontIntermediateHeadingChangeRatioSteps;
     331                 :          1 :   uint32_t dynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps{
     332                 :            :     std::numeric_limits<uint32_t>::max()};
     333                 :            :   dynamicsUnstructuredSettings.pedestrianBackIntermediateHeadingChangeRatioSteps
     334                 :          1 :     = dynamicsUnstructuredSettingsPedestrianBackIntermediateHeadingChangeRatioSteps;
     335                 :          1 :   dynamics.unstructuredSettings = dynamicsUnstructuredSettings;
     336                 :          1 :   valueA.dynamics = dynamics;
     337                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     338                 :            : 
     339   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     340   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     341                 :          1 : }
     342                 :            : 
     343                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorHasPriorityDiffers)
     344                 :            : {
     345                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     346                 :          1 :   bool hasPriority{false};
     347                 :          1 :   valueA.hasPriority = hasPriority;
     348                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     349                 :            : 
     350   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     351   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     352                 :          1 : }
     353                 :            : 
     354                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorIsInCorrectLaneDiffers)
     355                 :            : {
     356                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     357                 :          1 :   bool isInCorrectLane{false};
     358                 :          1 :   valueA.isInCorrectLane = isInCorrectLane;
     359                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     360                 :            : 
     361   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     362   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     363                 :          1 : }
     364                 :            : 
     365                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorDistanceToEnterIntersectionDiffers)
     366                 :            : {
     367                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     368                 :          1 :   ::ad::physics::Distance distanceToEnterIntersection(1e9);
     369                 :          1 :   valueA.distanceToEnterIntersection = distanceToEnterIntersection;
     370                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     371                 :            : 
     372   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     373   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     374                 :          1 : }
     375                 :            : 
     376                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorDistanceToLeaveIntersectionDiffers)
     377                 :            : {
     378                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     379                 :          1 :   ::ad::physics::Distance distanceToLeaveIntersection(1e9);
     380                 :          1 :   valueA.distanceToLeaveIntersection = distanceToLeaveIntersection;
     381                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     382                 :            : 
     383   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     384   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     385                 :          1 : }
     386                 :            : 
     387                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorObjectTypeDiffers)
     388                 :            : {
     389                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     390                 :          1 :   ::ad::rss::world::ObjectType objectType(::ad::rss::world::ObjectType::ArtificialObject);
     391                 :          1 :   valueA.objectType = objectType;
     392                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     393                 :            : 
     394   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     395   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     396                 :          1 : }
     397                 :            : 
     398                 :          2 : TEST_F(VehicleStateTests, comparisonOperatorObjectStateDiffers)
     399                 :            : {
     400                 :          1 :   ::ad::rss::situation::VehicleState valueA = mValue;
     401                 :          1 :   ::ad::rss::world::ObjectState objectState;
     402                 :          1 :   ::ad::physics::Angle objectStateYaw(6.283185308);
     403                 :          1 :   objectState.yaw = objectStateYaw;
     404                 :          1 :   ::ad::physics::Dimension2D objectStateDimension;
     405                 :          1 :   ::ad::physics::Distance objectStateDimensionLength(1e9);
     406                 :          1 :   objectStateDimension.length = objectStateDimensionLength;
     407                 :          1 :   ::ad::physics::Distance objectStateDimensionWidth(1e9);
     408                 :          1 :   objectStateDimension.width = objectStateDimensionWidth;
     409                 :          1 :   objectState.dimension = objectStateDimension;
     410                 :          1 :   ::ad::physics::AngularVelocity objectStateYawRate(100.);
     411                 :          1 :   objectState.yawRate = objectStateYawRate;
     412                 :          1 :   ::ad::physics::Distance2D objectStateCenterPoint;
     413                 :          1 :   ::ad::physics::Distance objectStateCenterPointX(1e9);
     414                 :          1 :   objectStateCenterPoint.x = objectStateCenterPointX;
     415                 :          1 :   ::ad::physics::Distance objectStateCenterPointY(1e9);
     416                 :          1 :   objectStateCenterPoint.y = objectStateCenterPointY;
     417                 :          1 :   objectState.centerPoint = objectStateCenterPoint;
     418                 :          1 :   ::ad::physics::Speed objectStateSpeed(100.);
     419                 :          1 :   objectState.speed = objectStateSpeed;
     420                 :          1 :   ::ad::physics::Angle objectStateSteeringAngle(6.283185308);
     421                 :          1 :   objectState.steeringAngle = objectStateSteeringAngle;
     422                 :          1 :   valueA.objectState = objectState;
     423                 :          1 :   ::ad::rss::situation::VehicleState valueB = mValue;
     424                 :            : 
     425   [ +  -  -  +  :          1 :   EXPECT_FALSE(valueA == valueB);
          -  -  -  -  -  
                -  -  - ]
     426   [ +  -  -  +  :          1 :   EXPECT_TRUE(valueA != valueB);
          -  -  -  -  -  
                -  -  - ]
     427                 :          1 : }
     428                 :            : 
     429                 :            : #if defined(__clang__) && (__clang_major__ >= 7)
     430                 :            : #pragma GCC diagnostic pop
     431                 :            : #endif

Generated by: LCOV version 1.14