21 lines
929 B
TypeScript
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);
|
|
});
|
|
});
|