From 55b714abf83e01aa0ff513ad6ba4978f4b4da6cd Mon Sep 17 00:00:00 2001 From: sanine Date: Thu, 9 Nov 2023 16:46:33 -0600 Subject: add basic game of life lattice rules --- src/simulation/lattice_rules.test.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/simulation/lattice_rules.test.js (limited to 'src/simulation/lattice_rules.test.js') diff --git a/src/simulation/lattice_rules.test.js b/src/simulation/lattice_rules.test.js new file mode 100644 index 0000000..a91400e --- /dev/null +++ b/src/simulation/lattice_rules.test.js @@ -0,0 +1,25 @@ +import { world_update } from '../world/world.js'; +import { lattice_rules } from './lattice_rules.js'; + + +test("blinker", () => { + const L = { type: 'active', flags: {} }; + const D = { type: 'empty', flags: {} }; + const lattice = [ + [ D, D, D, D, D ], + [ D, D, D, D, D ], + [ D, L, L, L, D ], + [ D, D, D, D, D ], + [ D, D, D, D, D ], + ]; + + const world = { lattice, lattice_rules, agents: [], senses: [], actions: [] }; + expect(world_update(world).lattice).toEqual([ + [ D, D, D, D, D ], + [ D, D, L, D, D ], + [ D, D, L, D, D ], + [ D, D, L, D, D ], + [ D, D, D, D, D ], + ]); + expect(world_update(world_update(world)).lattice).toEqual(lattice); +}); -- cgit v1.2.1