aboutsummaryrefslogtreecommitdiffstats
path: root/packages/math/point.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/math/point.test.ts')
-rw-r--r--packages/math/point.test.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/math/point.test.ts b/packages/math/point.test.ts
new file mode 100644
index 0000000..89cc4f8
--- /dev/null
+++ b/packages/math/point.test.ts
@@ -0,0 +1,24 @@
+import { pointFrom, pointRotateRads } from "./point";
+import type { Radians } from "./types";
+
+describe("rotate", () => {
+ it("should rotate over (x2, y2) and return the rotated coordinates for (x1, y1)", () => {
+ const x1 = 10;
+ const y1 = 20;
+ const x2 = 20;
+ const y2 = 30;
+ const angle = (Math.PI / 2) as Radians;
+ const [rotatedX, rotatedY] = pointRotateRads(
+ pointFrom(x1, y1),
+ pointFrom(x2, y2),
+ angle,
+ );
+ expect([rotatedX, rotatedY]).toEqual([30, 20]);
+ const res2 = pointRotateRads(
+ pointFrom(rotatedX, rotatedY),
+ pointFrom(x2, y2),
+ -angle as Radians,
+ );
+ expect(res2).toEqual([x1, x2]);
+ });
+});