floor-planner/tests/dimension-labels.test.ts
2026-09-11 16:09:28 +01:00

21 lines
929 B
TypeScript

import { describe, expect, it } from 'vitest';
import { fireplace } from '../src/lib/defaults';
import { buildGeometry } from '../src/lib/geometry';
import { dimensionLabels } from '../src/lib/dimension-labels';
describe('wall dimensions', () => {
it('keeps fireplace recess measurements apart without changing measured lengths', () => {
const geometry = buildGeometry(fireplace('room-1', 'Fireplace'), 10);
const labels = dimensionLabels(geometry.edges, 4800, 1);
expect(labels).toHaveLength(8);
expect(labels[3].text).toBe('W4 · 450');
for (let i = 0; i < labels.length; i++)
for (let j = i + 1; j < labels.length; j++) {
const a = labels[i].box,
b = labels[j].box;
expect(a.minX >= b.maxX || a.maxX <= b.minX || a.minY >= b.maxY || a.maxY <= b.minY).toBe(
true,
);
}
expect(dimensionLabels(geometry.edges, 4800, 1)).toEqual(labels);
});
});