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