summaryrefslogtreecommitdiff
path: root/src/simulation/game.test.js
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2023-11-11 21:23:38 -0600
committersanine <sanine.not@pm.me>2023-11-11 21:23:38 -0600
commitd39a74930ec054628f8c65d33ef797fdea6f44ce (patch)
tree0eda8f851410c4c1bfe57755b59a69bf332fd237 /src/simulation/game.test.js
parent4715baef25b39d2614b1d0cc67d8bcff5676b6ce (diff)
add create_world()
Diffstat (limited to 'src/simulation/game.test.js')
-rw-r--r--src/simulation/game.test.js28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/simulation/game.test.js b/src/simulation/game.test.js
index ac65618..219dce6 100644
--- a/src/simulation/game.test.js
+++ b/src/simulation/game.test.js
@@ -1,6 +1,7 @@
'use strict';
-import { setup_board } from './game.js';
+import { apply } from '../util.js';
+import { setup_board, create_world } from './game.js';
test("set up boards correctly", () => {
@@ -31,3 +32,28 @@ test("set up boards correctly", () => {
[ W, W, W, W, W, W, W, W, W, ],
]);
});
+
+
+test("creating a world works correctly", () => {
+ const id = 0;
+ const agent = (id) => ({ id, net: `${id}`, state: `s${id}` });
+ const team1 = [agent(0), agent(1)];
+ const team2 = [agent(2), agent(3)];
+ const team3 = [agent(4), agent(5)];
+ const team4 = [agent(6), agent(7)];
+
+ const world = create_world(6, [team1, team2, team3, team4]);
+ const agent_cell = (agent) => {
+ const { x, y } = agent;
+ return world.lattice[y][x];
+ };
+
+ expect(agent_cell(world.agents[0])).toEqual({ type: 'empty', flags: { team: 0 } });
+ expect(agent_cell(world.agents[1])).toEqual({ type: 'empty', flags: { team: 0 } });
+ expect(agent_cell(world.agents[2])).toEqual({ type: 'empty', flags: { team: 1 } });
+ expect(agent_cell(world.agents[3])).toEqual({ type: 'empty', flags: { team: 1 } });
+ expect(agent_cell(world.agents[4])).toEqual({ type: 'empty', flags: { team: 2 } });
+ expect(agent_cell(world.agents[5])).toEqual({ type: 'empty', flags: { team: 2 } });
+ expect(agent_cell(world.agents[6])).toEqual({ type: 'empty', flags: { team: 3 } });
+ expect(agent_cell(world.agents[7])).toEqual({ type: 'empty', flags: { team: 3 } });
+});