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]); +}); | 
