import { describe, it, expect } from 'vitest';
import { isoToScreen, screenToIso } from '../iso';
describe('изометрия', () => {
it('нулевая точка — origin', () => {
expect(isoToScreen(0, 0)).toEqual({ x: 0, y: 0 });
});
it('оси дают ромб 2:1', () => {
expect(isoToScreen(1, 0)).toEqual({ x: 16, y: 8 });
expect(isoToScreen(0, 1)).toEqual({ x: -16, y: 8 });
expect(isoToScreen(2, 3)).toEqual({ x: -16, y: 40 });
});
it('screenToIso — обратная к isoToScreen в центрах тайлов', () => {
for (let tx = 0; tx < 6; tx++) {
for (let ty = 0; ty < 6; ty++) {
const c = isoToScreen(tx + 0.5, ty + 0.5); // центр ромба
const back = screenToIso(c.x, c.y);
expect(back.x).toBe(tx);
expect(back.y).toBe(ty);
}
}
});
});