diff --git a/tests/src/Base/Vector3D.cpp b/tests/src/Base/Vector3D.cpp index 4719bc26b0..cd4150374b 100644 --- a/tests/src/Base/Vector3D.cpp +++ b/tests/src/Base/Vector3D.cpp @@ -1,6 +1,7 @@ #include "gtest/gtest.h" #include +// NOLINTBEGIN TEST(Vector, TestDefault) { Base::Vector3d vec; @@ -261,3 +262,58 @@ TEST(Vector, TestAngle) double angle = vec1.GetAngle(vec2); EXPECT_EQ(angle, Base::float_traits::pi() / 2); } + +TEST(Vector, TestIsNormal) +{ + Base::Vector3d vec(1, 2, 3); + EXPECT_FALSE(vec.IsNormal(Base::Vector3d(1, 1, 1), 0.0)); + EXPECT_FALSE(vec.IsNormal(Base::Vector3d(1, 2, 3), 0.0)); + EXPECT_TRUE(vec.IsNormal(Base::Vector3d(3, 0, -1), 0.0)); +} + +TEST(Vector, TestIsNormalNullVector) +{ + Base::Vector3d vec(1, 2, 3); + EXPECT_FALSE(vec.IsNormal(Base::Vector3d(0, 0, 0), 0.0)); +} + +TEST(Vector, TestIsNormalLongVectors) +{ + Base::Vector3d vec(10000, 20000, 30000); + EXPECT_TRUE(vec.IsNormal(Base::Vector3d(30000, 0, -10001), 0.02)); +} + +TEST(Vector, TestIsNormalShortVectors) +{ + Base::Vector3d vec(0.01, 0.02, 0.03); + EXPECT_FALSE(vec.IsNormal(Base::Vector3d(0.03, 0, -0.02), 0.02)); +} + +TEST(Vector, TestIsParallel) +{ + Base::Vector3d vec(1, 2, 3); + EXPECT_FALSE(vec.IsParallel(Base::Vector3d(1, 1, 1), 0.0)); + EXPECT_TRUE(vec.IsParallel(Base::Vector3d(1, 2, 3), 0.0)); + EXPECT_TRUE(vec.IsParallel(Base::Vector3d(-1, -2, -3), 0.0)); + EXPECT_FALSE(vec.IsParallel(Base::Vector3d(3, 0, -1), 0.0)); +} + +TEST(Vector, TestIsParallelNullVector) +{ + Base::Vector3d vec(1, 2, 3); + EXPECT_FALSE(vec.IsParallel(Base::Vector3d(0, 0, 0), 0.0)); +} + +TEST(Vector, TestIsParallelLongVectors) +{ + Base::Vector3d vec(10000, 20000, 30000); + EXPECT_TRUE(vec.IsParallel(Base::Vector3d(10000, 20000, 30001), 0.02)); +} + +TEST(Vector, TestIsParallelShortVectors) +{ + Base::Vector3d vec(0.01, 0.02, 0.03); + EXPECT_FALSE(vec.IsParallel(Base::Vector3d(0.01, 0.02, 0.04), 0.02)); +} + +// NOLINTEND