v0.1.0: 初始工程骨架 — 7模块 40头文件 32源文件 17文档 Apache-2.0
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include "vde/core/point.h"
|
||||
#include "vde/foundation/tolerance.h"
|
||||
|
||||
using namespace vde::core;
|
||||
using namespace vde::foundation;
|
||||
|
||||
TEST(PointTest, DefaultConstructor_IsZero) {
|
||||
Point3D p;
|
||||
EXPECT_DOUBLE_EQ(p.x(), 0.0);
|
||||
EXPECT_DOUBLE_EQ(p.y(), 0.0);
|
||||
EXPECT_DOUBLE_EQ(p.z(), 0.0);
|
||||
}
|
||||
|
||||
TEST(PointTest, Distance_SamePoint_ReturnsZero) {
|
||||
Point3D a(1.0, 2.0, 3.0);
|
||||
EXPECT_DOUBLE_EQ((a - a).norm(), 0.0);
|
||||
}
|
||||
|
||||
TEST(PointTest, Distance_KnownValues) {
|
||||
Point3D a(0, 0, 0), b(3, 4, 0);
|
||||
EXPECT_DOUBLE_EQ((b - a).norm(), 5.0);
|
||||
}
|
||||
|
||||
TEST(PointTest, Arithmetic_AddVector) {
|
||||
Point3D a(1, 2, 3);
|
||||
Vector3D v(4, 5, 6);
|
||||
Point3D r = a + v;
|
||||
EXPECT_DOUBLE_EQ(r.x(), 5.0);
|
||||
EXPECT_DOUBLE_EQ(r.y(), 7.0);
|
||||
EXPECT_DOUBLE_EQ(r.z(), 9.0);
|
||||
}
|
||||
|
||||
TEST(PointTest, Tolerance_EqualsWithinTol) {
|
||||
Tolerance tol(1e-6);
|
||||
EXPECT_TRUE(tol.points_equal(Point3D(1,2,3), Point3D(1+1e-7, 2, 3)));
|
||||
EXPECT_FALSE(tol.points_equal(Point3D(1,2,3), Point3D(2,2,3)));
|
||||
}
|
||||
Reference in New Issue
Block a user