excalidraw/packages/math/rectangle.test.ts
Mark Tolmacs 336fa9d002
Master merge
Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
2024-10-02 12:09:01 +02:00

39 lines
1,019 B
TypeScript

import { pointFrom } from "./point";
import { rectangle, rectangleDistanceFromPoint } from "./rectangle";
describe("rectangle distance", () => {
it("finds the shortest distance", () => {
expect(
rectangleDistanceFromPoint(
rectangle(pointFrom(-1, -1), pointFrom(1, 1)),
pointFrom(2, 0),
),
).toBe(1);
expect(
rectangleDistanceFromPoint(
rectangle(pointFrom(-1, -1), pointFrom(1, 1)),
pointFrom(0, 2),
),
).toBe(1);
expect(
rectangleDistanceFromPoint(
rectangle(pointFrom(-1, -1), pointFrom(1, 1)),
pointFrom(-2, 0),
),
).toBe(1);
expect(
rectangleDistanceFromPoint(
rectangle(pointFrom(-1, -1), pointFrom(1, 1)),
pointFrom(0, -2),
),
).toBe(1);
});
it("finds the corner as closest point", () => {
expect(
rectangleDistanceFromPoint(
rectangle(pointFrom(-1, -1), pointFrom(1, 1)),
pointFrom(2, 2),
),
).toBe(Math.sqrt(2));
});
});