From 7f551e28aebbb122a6d6ea91ae914251b9736dc5 Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Fri, 20 Dec 2024 16:49:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=BC=96=E8=AF=91=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- tests/BasicCollisionTest.cpp | 16 ++++++++-------- tests/CollisionDetectorTest.cpp | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 630a831..0795a6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/tests") FetchContent_MakeAvailable(googletest) else() # CentOS 使用系统安装的 gtest - find_package(GTest REQUIRED) + find_package(GTest 1.8 REQUIRED) endif() enable_testing() diff --git a/tests/BasicCollisionTest.cpp b/tests/BasicCollisionTest.cpp index 0def229..b23052a 100644 --- a/tests/BasicCollisionTest.cpp +++ b/tests/BasicCollisionTest.cpp @@ -9,7 +9,7 @@ class MockControllableVehicles : public ControllableVehicles { public: MockControllableVehicles() : ControllableVehicles("") {} - MOCK_METHOD(bool, isControllable, (const std::string& vehicleNo), (const)); + MOCK_CONST_METHOD1(isControllable, bool(const std::string& vehicleNo)); }; // Mock AirportBounds 类 @@ -33,7 +33,7 @@ public: system_config.collision_detection.prediction.time_window = 30.0; // 设置预测时间窗口为30秒 } - MOCK_METHOD(AreaType, getAreaType, (const Vector2D& position), (const)); + MOCK_CONST_METHOD1(getAreaType, AreaType(const Vector2D& position)); const AreaConfig& getAreaConfig(AreaType type) const override { auto it = areaConfigs_.find(type); @@ -165,7 +165,7 @@ TEST_F(BasicCollisionTest, ParallelMotion) { auto result = detector_->checkCollision(v1, v2, 30.0); - EXPECT_FALSE(result.willCollide) << "平行运动且距离大于碰撞半径的物体不应该检测为碰撞"; + EXPECT_FALSE(result.willCollide) << "平行运动且距离大于碰撞半径的物体不应该检测为碰��"; EXPECT_EQ(result.type, CollisionType::PARALLEL) << "应该识别为平行运动"; // 增加更多验证 @@ -195,7 +195,7 @@ TEST_F(BasicCollisionTest, CrossingPaths) { // 添加航向角度差的调试日志 double angle_diff = std::abs(v1.heading - v2.heading); - Logger::debug("航向���度差检查:"); + Logger::debug("航向角度差检查:"); Logger::debug("v1 航向: " + std::to_string(v1.heading)); Logger::debug("v2 航向: " + std::to_string(v2.heading)); Logger::debug("航向角度差: " + std::to_string(angle_diff)); @@ -401,7 +401,7 @@ TEST_F(BasicCollisionTest, QN002AircraftCrossing) { // 记录详细的测试信息 Logger::debug("QN002-AC001 碰撞测试结果:"); - Logger::debug("碰撞类型: ", static_cast(result.type)); + Logger::debug("碰��类型: ", static_cast(result.type)); Logger::debug("最小距离: ", result.minDistance, "m"); Logger::debug("碰撞时间: ", result.timeToCollision, "s"); Logger::debug("碰撞点: (", result.collisionPoint.x, ",", result.collisionPoint.y, ")"); @@ -460,7 +460,7 @@ TEST_F(BasicCollisionTest, CrossingBeforeAndAfter) { Logger::debug("无人车位置: (", vehicle.position.x, ",", vehicle.position.y, ")"); Logger::debug("交叉点位置: (", crossPoint.x, ",", crossPoint.y, ")"); - ASSERT_FALSE(risks.empty()) << "交叉前应该检测到碰撞风险"; + ASSERT_FALSE(risks.empty()) << "交叉前应该检测到��撞风险"; EXPECT_EQ(risks[0].level, RiskLevel::WARNING) << "交叉前应该是预警级别"; // 2. 测试交叉过程中 @@ -477,7 +477,7 @@ TEST_F(BasicCollisionTest, CrossingBeforeAndAfter) { risks = detector_->detectCollisions(); // 记录详细的测试信息 - Logger::debug("交叉过程中碰撞检测:"); + Logger::debug("交叉过程��碰撞检测:"); Logger::debug("航空器位置: (", aircraft.position.x, ",", aircraft.position.y, ")"); Logger::debug("无人车位置: (", vehicle.position.x, ",", vehicle.position.y, ")"); @@ -504,7 +504,7 @@ TEST_F(BasicCollisionTest, CrossingBeforeAndAfter) { EXPECT_TRUE(risks.empty()) << "航空器通过远离安全距离后,应该解除冲突"; - // 4. 测试无人车继续运动 + // 4. 测试无���车继续运动 // 无人车向北移动到交叉点 vehicle.position = {crossPoint.x, crossPoint.y}; diff --git a/tests/CollisionDetectorTest.cpp b/tests/CollisionDetectorTest.cpp index ff0ffb8..47871e1 100644 --- a/tests/CollisionDetectorTest.cpp +++ b/tests/CollisionDetectorTest.cpp @@ -11,7 +11,7 @@ class MockControllableVehicles : public ControllableVehicles { public: MockControllableVehicles() : ControllableVehicles("") {} // 使用空字符串,避免加载实际配置 - MOCK_METHOD(bool, isControllable, (const std::string& vehicleNo), (const)); + MOCK_CONST_METHOD1(isControllable, bool(const std::string& vehicleNo)); }; // Mock AirportBounds 类 @@ -31,7 +31,7 @@ public: areaConfigs_[AreaType::TEST_ZONE] = config; } - MOCK_METHOD(AreaType, getAreaType, (const Vector2D& position), (const)); + MOCK_CONST_METHOD1(getAreaType, AreaType(const Vector2D& position)); const AreaConfig& getAreaConfig(AreaType type) const override { auto it = areaConfigs_.find(type); @@ -199,7 +199,7 @@ TEST_F(CollisionDetectorTest, PerpendicularCrossingPathsCollision) { EXPECT_TRUE(collisionResult.willCollide) << "垂直交叉路径的车辆应该检测到碰撞"; // 测试2:不同速度比 - v1.speed = 5.0; // 降低速度 + v1.speed = 5.0; // 降���速度 v2.speed = 15.0; // 提高速度 collisionResult = detector_->checkCollision(v1, v2, 30.0); EXPECT_TRUE(collisionResult.willCollide) << "不同速度的垂直交叉路径车辆应该检测到碰撞"; @@ -265,7 +265,7 @@ TEST_F(CollisionDetectorTest, TailgatingCollision) { v2.type = MovingObjectType::UNMANNED; v2.isControllable = true; - // 测试1:同向同速 + // 测试1:同向��速 auto collisionResult = detector_->checkCollision(v1, v2, 30.0); EXPECT_FALSE(collisionResult.willCollide) << "同向同速的车辆不应该检测到碰撞";