summaryrefslogtreecommitdiff
path: root/src/world/lattice.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/world/lattice.test.js')
-rw-r--r--src/world/lattice.test.js111
1 files changed, 0 insertions, 111 deletions
diff --git a/src/world/lattice.test.js b/src/world/lattice.test.js
deleted file mode 100644
index d1bdd13..0000000
--- a/src/world/lattice.test.js
+++ /dev/null
@@ -1,111 +0,0 @@
-'use strict';
-
-import { lattice_update, lattice_valid, lattice_apply } from './lattice.js';
-
-
-test("growth update rule", () => {
- const lattice = [[
- { type: 'empty', flags: {} },
- { type: 'empty', flags: {} },
- { type: 'plant', flags: {} },
- ]];
- const update_rules = {
- plant: () => {},
- empty: (lattice, x, y) => {
- if (lattice[y][x+1].type === 'plant') {
- return { world_updates: [{ x, y, from: 'empty', to: 'plant' }] };
- }
- },
- };
-
- expect(lattice_update(lattice, update_rules)).toEqual([
- { world_updates: [{ x: 1, y: 0, from: 'empty', to: 'plant' }] },
- ]);
-
- lattice[0][1] = { type: 'plant' };
-
- expect(lattice_update(lattice, update_rules)).toEqual([
- { world_updates: [{ x: 0, y: 0, from: 'empty', to: 'plant' }] },
- ]);
-
- lattice[0][0] = { type: 'plant' };
-
- expect(lattice_update(lattice, update_rules)).toEqual([]);
-});
-
-
-//test("agents cannot move into non-empty tiles", () => {
-// const lattice = [[ {type: 'empty', flags: {}}, {type: 'filled', flags: {}} ]];
-// const bad_prop = [{ agent_updates: [{ agent_id: 14, x: 1, y: 0 }] }];
-// expect(lattice_valid(lattice, bad_prop)).toBe(false);
-// const good_prop = [{ agent_updates: [{ agent_id: 14, x: 0, y: 0 }] }];
-// expect(lattice_valid(lattice, bad_prop)).toBe(true);
-//});
-
-
-test("growth update rule applied", () => {
- const lattice = [[
- { type: 'empty', flags: {} },
- { type: 'empty', flags: {} },
- { type: 'plant', flags: {} },
- ]];
- expect(lattice_apply(lattice, [{ world_updates:[{ x: 1, y: 0, from: 'empty', to: 'plant' }]}])).toEqual([[
- { type: 'empty', flags: {} },
- { type: 'plant', flags: {} },
- { type: 'plant', flags: {} },
- ]]);
-
- expect(lattice_apply(lattice, [
- { world_updates: [{ x: 2, y: 0, from: 'plant', to: 'empty' } ]},
- { world_updates: [{ x: 1, y: 0, from: 'empty', to: 'plant' } ]},
- { world_updates: [{ x: 0, y: 0, from: 'empty', to: 'plant' } ]},
- ])).toEqual([[
- { type: 'plant', flags: {} },
- { type: 'plant', flags: {} },
- { type: 'empty', flags: {} },
- ]]);
-});
-
-
-test("check proposals agains lattice for validity", () => {
- const lattice = [[ { type: 'empty' }, { type: 'empty' }, { type: 'plant' } ]];
- expect(lattice_valid(lattice, { world_updates: [{ x: -1, y: 0, from: 'blah', to: 'blah' }] })).toBe(false);
- expect(lattice_valid(lattice, { world_updates: [{ x: 0, y: 0, from: 'blah', to: 'blah' }] })).toBe(false);
- expect(lattice_valid(lattice, { world_updates: [{ x: 0, y: 0, from: 'empty', to: 'blah' }] })).toBe(true);
- expect(lattice_valid(lattice, { world_updates: [{ x: 2, y: 0, from: 'empty', to: 'blah' }] })).toBe(false);
- expect(lattice_valid(lattice, { world_updates: [{ x: 2, y: 1, from: 'empty', to: 'blah' }] })).toBe(false);
-});
-
-
-// this test is no longer relevant because resetting the cell flags is taken care of by world_update,
-// not lattice_apply
-//
-//test("proposals update cell flags appropriately", () => {
-// const lattice = [
-// [
-// { type: 'empty', flags: { step: 1} },
-// { type: 'empty', flags: {} },
-// { type: 'plant', flags: { foo: 'bar' } },
-// ]
-// ];
-//
-// // flags are reset each time step
-// expect(lattice_apply(lattice, [{ world_updates:[{ x: 1, y: 0, from: 'empty', to: 'plant' }]}])).toEqual([[
-// { type: 'empty', flags: {} },
-// { type: 'plant', flags: {} },
-// { type: 'plant', flags: {} },
-// ]]);
-//
-// // flags are combined when updating
-// expect(lattice_apply(lattice, [
-// { world_updates: [{ x: 1, y: 0, flags: { foo: 'bar' } } ]},
-// { world_updates: [{ x: 1, y: 0, from: 'empty', to: 'plant', flags: { baz: 'baz' } } ]},
-// { world_updates: [{ x: 0, y: 0, from: 'empty', to: 'plant', flags: { foo: 'foo' } } ]},
-// { world_updates: [{ x: 0, y: 0, flags: { beep: 'boop' } } ]},
-// ])).toEqual([[
-// { type: 'plant', flags: { foo: 'foo', beep: 'boop' } },
-// { type: 'plant', flags: { foo: 'bar', baz: 'baz' } },
-// { type: 'plant', flags: {} },
-// ]]);
-//
-//});