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/LaneSegment.hpp" 23 : : 24 : : class LaneSegmentTests : public testing::Test 25 : : { 26 : : protected: 27 : 10 : virtual void SetUp() override 28 : : { 29 : : // valid initialization 30 : 10 : ::ad::rss::world::LaneSegment value; 31 : 10 : ::ad::rss::world::LaneSegmentId valueId(std::numeric_limits<::ad::rss::world::LaneSegmentId>::lowest()); 32 : 10 : value.id = valueId; 33 : 10 : ::ad::rss::world::LaneDrivingDirection valueDriving_direction( 34 : : ::ad::rss::world::LaneDrivingDirection::Bidirectional); 35 : 10 : value.driving_direction = valueDriving_direction; 36 : 10 : ::ad::physics::MetricRange valueLength; 37 : 10 : ::ad::physics::Distance valueLengthMinimum(-1e9); 38 : 10 : valueLengthMinimum = ::ad::physics::Distance(0.); // set to valid value within struct 39 : 10 : valueLength.minimum = valueLengthMinimum; 40 : 10 : ::ad::physics::Distance valueLengthMaximum(-1e9); 41 : 10 : valueLength.maximum = valueLengthMaximum; 42 : 10 : valueLength.maximum = valueLength.minimum; 43 : 10 : valueLength.minimum = valueLength.maximum; 44 : 10 : value.length = valueLength; 45 : 10 : ::ad::physics::MetricRange valueWidth; 46 : 10 : ::ad::physics::Distance valueWidthMinimum(-1e9); 47 : 10 : valueWidthMinimum = ::ad::physics::Distance(0.); // set to valid value within struct 48 : 10 : valueWidth.minimum = valueWidthMinimum; 49 : 10 : ::ad::physics::Distance valueWidthMaximum(-1e9); 50 : 10 : valueWidth.maximum = valueWidthMaximum; 51 : 10 : valueWidth.maximum = valueWidth.minimum; 52 : 10 : valueWidth.minimum = valueWidth.maximum; 53 : 10 : value.width = valueWidth; 54 : 10 : mValue = value; 55 : 10 : } 56 : : 57 : : ::ad::rss::world::LaneSegment mValue; 58 : : }; 59 : : 60 : 4 : TEST_F(LaneSegmentTests, copyConstruction) 61 : : { 62 : 1 : ::ad::rss::world::LaneSegment value(mValue); 63 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 64 : 1 : } 65 : : 66 : 4 : TEST_F(LaneSegmentTests, moveConstruction) 67 : : { 68 : 1 : ::ad::rss::world::LaneSegment tmpValue(mValue); 69 : 1 : ::ad::rss::world::LaneSegment value(std::move(tmpValue)); 70 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 71 : 1 : } 72 : : 73 : 4 : TEST_F(LaneSegmentTests, copyAssignment) 74 : : { 75 : 1 : ::ad::rss::world::LaneSegment value; 76 : 1 : value = mValue; 77 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 78 : 1 : } 79 : : 80 : 4 : TEST_F(LaneSegmentTests, moveAssignment) 81 : : { 82 : 1 : ::ad::rss::world::LaneSegment tmpValue(mValue); 83 : 1 : ::ad::rss::world::LaneSegment value; 84 : 1 : value = std::move(tmpValue); 85 [ + - - + : 1 : EXPECT_EQ(mValue, value); - - - - - - ] 86 : 1 : } 87 : : 88 : 4 : TEST_F(LaneSegmentTests, comparisonOperatorEqual) 89 : : { 90 : 1 : ::ad::rss::world::LaneSegment valueA = mValue; 91 : 1 : ::ad::rss::world::LaneSegment valueB = mValue; 92 : : 93 [ + - - + : 1 : EXPECT_TRUE(valueA == valueB); - - - - - - - - ] 94 [ + - - + : 1 : EXPECT_FALSE(valueA != valueB); - - - - - - - - ] 95 : 1 : } 96 : : 97 : 4 : TEST_F(LaneSegmentTests, stringConversionTest) 98 : : { 99 [ + - ]: 1 : std::stringstream stream; 100 [ + - ]: 1 : stream << mValue; 101 [ + - ]: 1 : std::string ostreamStr = stream.str(); 102 [ + - ]: 1 : std::string toStr = std::to_string(mValue); 103 [ + - - + : 1 : ASSERT_EQ(ostreamStr, toStr); - - - - - - + - ] 104 [ + - + - : 1 : } + - ] 105 : : 106 : 4 : TEST_F(LaneSegmentTests, comparisonOperatorIdDiffers) 107 : : { 108 : 1 : ::ad::rss::world::LaneSegment valueA = mValue; 109 : 1 : ::ad::rss::world::LaneSegmentId id(std::numeric_limits<::ad::rss::world::LaneSegmentId>::max()); 110 : 1 : valueA.id = id; 111 : 1 : ::ad::rss::world::LaneSegment valueB = mValue; 112 : : 113 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 114 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 115 : 1 : } 116 : : 117 : 4 : TEST_F(LaneSegmentTests, comparisonOperatorDriving_directionDiffers) 118 : : { 119 : 1 : ::ad::rss::world::LaneSegment valueA = mValue; 120 : 1 : ::ad::rss::world::LaneDrivingDirection driving_direction(::ad::rss::world::LaneDrivingDirection::Negative); 121 : 1 : valueA.driving_direction = driving_direction; 122 : 1 : ::ad::rss::world::LaneSegment valueB = mValue; 123 : : 124 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 125 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 126 : 1 : } 127 : : 128 : 4 : TEST_F(LaneSegmentTests, comparisonOperatorLengthDiffers) 129 : : { 130 : 1 : ::ad::rss::world::LaneSegment valueA = mValue; 131 : 1 : ::ad::physics::MetricRange length; 132 : 1 : ::ad::physics::Distance lengthMinimum(1e9); 133 : 1 : length.minimum = lengthMinimum; 134 : 1 : ::ad::physics::Distance lengthMaximum(1e9); 135 : 1 : lengthMaximum = ::ad::physics::Distance(1e6); // set to valid value within struct 136 : 1 : length.maximum = lengthMaximum; 137 : 1 : length.maximum = length.minimum; 138 : 1 : length.minimum = length.maximum; 139 : 1 : valueA.length = length; 140 : 1 : ::ad::rss::world::LaneSegment valueB = mValue; 141 : : 142 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 143 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 144 : 1 : } 145 : : 146 : 4 : TEST_F(LaneSegmentTests, comparisonOperatorWidthDiffers) 147 : : { 148 : 1 : ::ad::rss::world::LaneSegment valueA = mValue; 149 : 1 : ::ad::physics::MetricRange width; 150 : 1 : ::ad::physics::Distance widthMinimum(1e9); 151 : 1 : width.minimum = widthMinimum; 152 : 1 : ::ad::physics::Distance widthMaximum(1e9); 153 : 1 : widthMaximum = ::ad::physics::Distance(1e6); // set to valid value within struct 154 : 1 : width.maximum = widthMaximum; 155 : 1 : width.maximum = width.minimum; 156 : 1 : width.minimum = width.maximum; 157 : 1 : valueA.width = width; 158 : 1 : ::ad::rss::world::LaneSegment valueB = mValue; 159 : : 160 [ + - - + : 1 : EXPECT_FALSE(valueA == valueB); - - - - - - - - ] 161 [ + - - + : 1 : EXPECT_TRUE(valueA != valueB); - - - - - - - - ] 162 : 1 : } 163 : : 164 : : #if defined(__clang__) && (__clang_major__ >= 7) 165 : : #pragma GCC diagnostic pop 166 : : #endif