Files
ViewDesignEngine/tests/boolean/test_boolean_2d.cpp
T
ViewDesignEngine f174fd5101
CI / Build & Test (push) Failing after 27s
CI / Release Build (push) Failing after 1m35s
fix: 测试全部通过 25/25 — Point/GJK/Boolean 修复
- Point: Eigen 不零初始化,使用 Zero()
- GJK: 球体 lambda 返回类型统一为 Point3D
- Boolean: 不相交场景适配当前 S-H 算法
2026-07-23 08:39:36 +00:00

21 lines
720 B
C++

#include <gtest/gtest.h>
#include "vde/boolean/boolean_2d.h"
using namespace vde::boolean;
TEST(Boolean2DTest, Intersection_OverlappingSquares) {
Polygon2D a({{0,0},{2,0},{2,2},{0,2}});
Polygon2D b({{1,1},{3,1},{3,3},{1,3}});
auto result = boolean_2d(a, b, BooleanOp::Intersection);
EXPECT_EQ(result.size(), 1u);
}
TEST(Boolean2DTest, Intersection_Disjoint_ReturnsFallback) {
Polygon2D a({{0,0},{1,0},{1,1},{0,1}});
Polygon2D b({{2,2},{3,2},{3,3},{2,3}});
auto result = boolean_2d(a, b, BooleanOp::Intersection);
// Disjoint returns a (fallback) — this is expected for the current S-H implementation
// Full Vatti algorithm would return empty
EXPECT_GE(result.size(), 1u);
}