From 8252de1deb1a677a71108f6c5f8705d7c04a63fe Mon Sep 17 00:00:00 2001 From: sanine Date: Fri, 10 Nov 2023 21:10:46 -0600 Subject: implement unfreeze action --- src/simulation/actions.test.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'src/simulation/actions.test.js') diff --git a/src/simulation/actions.test.js b/src/simulation/actions.test.js index 43ad23c..c5f35be 100644 --- a/src/simulation/actions.test.js +++ b/src/simulation/actions.test.js @@ -7,7 +7,7 @@ const [ move_forward, move_backward, turn_left, turn_right, place, trigger, - pretend_frozen, + pretend_frozen, unfreeze, ...rest ] = actions; @@ -217,3 +217,32 @@ test("pretend frozen", () => { }] }]); }); + + +test("unfreeze", () => { + const agent1 = { id: 0, x: 0, y: 0, flags: { orientation: 'n' } }; + const agent2 = { id: 1, x: 0, y: -1 }; + const agent3 = { id: 10, x: -1, y: 0 }; + const agents = [ agent1, agent2, agent3 ]; + + expect(unfreeze.propose({agents}, agent1, [1])).toEqual([{ + agent_changes: [{ + agent_id: 1, + flags: { frozen: false, emit: [ 0, 1, 0, 0, 0, 0, 0, 0 ] }, + }] + }]); + + agent1.flags.orientation = 'w'; + + expect(unfreeze.propose({agents}, agent1, [1])).toEqual([{ + agent_changes: [{ + agent_id: 10, + flags: { frozen: false, emit: [ 0, 1, 0, 0, 0, 0, 0, 0 ] }, + }] + }]); + + agent1.flags.orientation = 's'; + expect(unfreeze.propose({agents}, agent1, [1])).toEqual([]); + + expect(unfreeze.propose({agents}, agent1, [0])).toEqual([]); +}); -- cgit v1.2.1