import { proposal_merge, } from './agent.js'; // --===== proposal conflicts =====-- test("proposals changing different tiles don't conflict", () => { const a = { world_changes: [{ x: 4, y: 3, from: 'empty', to: 'mutable' }], }; const b = { world_changes: [{ x: 4, y: 4, from: 'empty', to: 'flag' }], }; expect(proposal_merge([a], b)).toEqual([a, b]); }); test("proposals changing the same tile to different states conflict", () => { const a = { world_changes: [{ x: 4, y: 3, from: 'empty', to: 'mutable' }], }; const b = { world_changes: [{ x: 4, y: 3, from: 'empty', to: 'flag' }], }; expect(proposal_merge([a], b)).toEqual([]); }); test("proposals changing the same tile to the same state merge to a single proposal", () => { const a = { world_changes: [{ x: 4, y: 3, from: 'empty', to: 'mutable' }], }; const b = { world_changes: [{ x: 4, y: 3, from: 'empty', to: 'mutable' }], }; expect(proposal_merge([a], b)).toEqual([a]); });