diff options
Diffstat (limited to 'src/simulation')
-rw-r--r-- | src/simulation/senses.js | 18 | ||||
-rw-r--r-- | src/simulation/senses.test.js | 18 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/simulation/senses.js b/src/simulation/senses.js new file mode 100644 index 0000000..4fc96d6 --- /dev/null +++ b/src/simulation/senses.js @@ -0,0 +1,18 @@ +'use strict'; + + +const frozen = { + size: 1, + read: (lattice, agent) => { + if (agent.flags.frozen === true) { + return [ 1 ]; + } else { + return [ 0 ]; + } + }, +}; + + +export const senses = [ + frozen, +]; diff --git a/src/simulation/senses.test.js b/src/simulation/senses.test.js new file mode 100644 index 0000000..1caed52 --- /dev/null +++ b/src/simulation/senses.test.js @@ -0,0 +1,18 @@ +'use strict'; + +import { senses } from './senses.js'; + +const [ frozen, ...rest ] = senses; + + +test("frozen sense", () => { + const agent = { + id: 0, x: 0, y: 0, + flags: { frozen: true, }, + }; + const lattice = null; + + expect(frozen.read(lattice, agent)).toEqual([1]); + agent.flags.frozen = false; + expect(frozen.read(lattice, agent)).toEqual([0]); +}); |