diff options
Diffstat (limited to 'src/world/agent.test.js')
-rw-r--r-- | src/world/agent.test.js | 51 |
1 files changed, 48 insertions, 3 deletions
diff --git a/src/world/agent.test.js b/src/world/agent.test.js index ea64fcb..2a86908 100644 --- a/src/world/agent.test.js +++ b/src/world/agent.test.js @@ -9,7 +9,6 @@ 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' }], }; @@ -22,7 +21,6 @@ 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' }], }; @@ -35,10 +33,57 @@ test("proposals changing the same tile to the same state merge to a single propo 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]); }); + + +test("proposals moving two agents to the same tile conflict", () => { + const a = { + agent_changes: [{ agent_id: 'aaa', x: 4, y: 3 }], + }; + const b = { + agent_changes: [{ agent_id: 'bbb', x: 4, y: 3 }], + }; + + expect(proposal_merge([a], b)).toEqual([]); +}); + + +test("proposals moving two agents to different tiles do not conflict", () => { + const a = { + agent_changes: [{ agent_id: 'aaa', x: 4, y: 3 }], + }; + const b = { + agent_changes: [{ agent_id: 'bbb', x: 3, y: 3 }], + }; + + expect(proposal_merge([a], b)).toEqual([a, b]); +}); + + +test("proposals moving the same agent to different tiles conflict", () => { + const a = { + agent_changes: [{ agent_id: 'aaa', x: 4, y: 3 }], + }; + const b = { + agent_changes: [{ agent_id: 'aaa', x: 3, y: 3 }], + }; + + expect(proposal_merge([a], b)).toEqual([]); +}); + + +test("proposals moving the same agent to the same tile merge", () => { + const a = { + agent_changes: [{ agent_id: 'aaa', x: 4, y: 3 }], + }; + const b = { + agent_changes: [{ agent_id: 'aaa', x: 4, y: 3 }], + }; + + expect(proposal_merge([a], b)).toEqual([a]); +}); |