summaryrefslogtreecommitdiffstats
path: root/packages/math/segment.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/math/segment.test.ts')
-rw-r--r--packages/math/segment.test.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/math/segment.test.ts b/packages/math/segment.test.ts
new file mode 100644
index 0000000..4237a3c
--- /dev/null
+++ b/packages/math/segment.test.ts
@@ -0,0 +1,21 @@
+import { pointFrom } from "./point";
+import { lineSegment, lineSegmentIntersectionPoints } from "./segment";
+
+describe("line-segment intersections", () => {
+ it("should correctly detect intersection", () => {
+ expect(
+ lineSegmentIntersectionPoints(
+ lineSegment(pointFrom(0, 0), pointFrom(5, 0)),
+ lineSegment(pointFrom(2, -2), pointFrom(3, 2)),
+ ),
+ ).toEqual(pointFrom(2.5, 0));
+ });
+ it("should correctly detect non-intersection", () => {
+ expect(
+ lineSegmentIntersectionPoints(
+ lineSegment(pointFrom(0, 0), pointFrom(5, 0)),
+ lineSegment(pointFrom(3, 1), pointFrom(4, 4)),
+ ),
+ ).toEqual(null);
+ });
+});