summaryrefslogtreecommitdiff
path: root/src/world/agent.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/world/agent.test.js')
-rw-r--r--src/world/agent.test.js51
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]);
+});