CARLA
载入中...
搜索中...
未找到
LibCarla
source
test
common
test_vector3D.cpp
浏览该文件的文档.
1
// Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma // 版权所有 (c) 2017,巴塞罗那自治大学(UAB)计算机视觉中心(CVC)
2
// de Barcelona (UAB).
3
//
4
// This work is licensed under the terms of the MIT license.// 本作品采用MIT许可证进行授权。
5
// For a copy, see <https://opensource.org/licenses/MIT>.// 许可证副本请参见 <https://opensource.org/licenses/MIT>。
6
7
#include "
test.h
"
// 引入test头文件,定义测试框架和测试功能
8
#include "gtest/gtest-death-test.h"
// 引入Google Test库中的死亡测试相关头文件,用于测试程序崩溃或终止的情况
9
10
#include <
carla/geom/Vector3D.h
>
// 引入Vector3D头文件,定义三维向量(Vector3D)相关的操作
11
#include <
carla/geom/Math.h
>
// 引入Math头文件,提供与数学运算相关的函数和工具
12
13
using namespace
carla::geom
;
14
15
// 统一测试向量归一化后的结果值
16
TEST
(vector3D, make_unit_vec) {
17
ASSERT_EQ(
Vector3D
(10,0,0).MakeUnitVector(),
Vector3D
(1,0,0));
//测试向量 (10,0,0) 归一化后是否等于 (1,0,0)
18
ASSERT_NE(
Vector3D
(10,0,0).MakeUnitVector(),
Vector3D
(0,1,0));
//测试向量 (10,0,0) 归一化后是否不等于 (0,1,0)
19
ASSERT_EQ(
Vector3D
(0,10,0).MakeUnitVector(),
Vector3D
(0,1,0));
//测试向量 (0,10,0) 归一化后是否等于 (0,1,0)
20
ASSERT_EQ(
Vector3D
(0,0,512).MakeUnitVector(),
Vector3D
(0,0,1));
//测试向量 (0,0,512) 归一化后是否等于 (0,0,1)
21
ASSERT_NE(
Vector3D
(0,1,512).MakeUnitVector(),
Vector3D
(0,0,1));
//测试向量 (0,1,512) 归一化后是否不等于 (0,0,1)
22
#ifdef LIBCARLA_NO_EXCEPTIONS
23
ASSERT_DEATH_IF_SUPPORTED(
24
Vector3D
().MakeUnitVector(),
25
"length > 2.0f \\* std::numeric_limits<float>::epsilon()"
);
//如果支持死亡测试,测试空向量调用MakeUnitVector()方法时程序是否会异常终止,并检查异常信息是否符合预期
26
#else
27
ASSERT_THROW(
28
Vector3D
().MakeUnitVector(),
29
std::runtime_error);
//测试空向量调用 MakeUnitVector()方法时是否会抛出 std::runtime_error 异常
30
#endif
// LIBCARLA_NO_EXCEPTIONS//用于处理在不使用异常的情况下的测试
31
}
Math.h
carla::geom::Vector3D
Definition
geom/Vector3D.h:17
Vector3D.h
carla::geom
Definition
LibCarla/source/carla/geom/BoundingBox.h:33
test.h
TEST
TEST(vector3D, make_unit_vec)
Definition
test_vector3D.cpp:16
制作者
1.10.0