Files
functional-programming-snake/fixtures/m13-life-update.json
T
Lucas WintherandClaude Fable 5.2 edd57f0148 feat(course): audit fixes and twelve extensions (Modules 7b, 12, 13)
Audit pass:
- Frame rule counts frames since the last move, so every step lasts
  exactly movesEvery(score) frames, also right after a speed-up
- clampTime + MAX_GAP_MS: a hidden tab no longer replays the whole gap
- Pong Restart keeps held keys
- Fact corrections (mulberry32 output coverage, Haskell IO, uniform)
- New fixture cases from a mutation analysis

Extensions (all three tracks, shared fixtures, course text):
- Turn queue (Exercise 10.6), persisted high score (10.7),
  replay viewer (10.8), play() end-to-end helper (9.5)
- Optional State (4.7) and optional Module 7b, stack-safe IO
- Module 12, property-based testing with generators, shrinking,
  invariants and a model-based oracle
- Module 13, Conway's Life with a Click event
- JS type checking via jsconfig, JSDoc and types.d.ts
- Maintainer tools: scripts/mutate.mjs, scripts/typecheck-js.sh,
  Playwright end-to-end suite (e2e/, scripts/e2e.sh)

Docs: docs/contract.md is the canonical contract; specs and build log
under docs/superpowers.

Verified: JS 728, Scala 689, F# 691 unit tests; stubs and progression
M01-M13 and M07b; 176 end-to-end tests on Chromium and WebKit.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-11 12:05:29 +01:00

3483 lines
57 KiB
JSON

{
"function": "lifeUpdate",
"cases": [
{
"name": "frame-while-running-computes-the-next-generation",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
},
{
"tag": "Frame"
}
],
"expected": {
"cells": [
{
"x": 5,
"y": 4
},
{
"x": 5,
"y": 5
},
{
"x": 5,
"y": 6
}
],
"running": true,
"seed": 7,
"generation": 4
}
},
{
"name": "frame-while-paused-is-unchanged",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Frame"
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "frame-on-an-empty-running-board-still-counts-the-generation",
"args": [
{
"cells": [],
"running": true,
"seed": 7,
"generation": 3
},
{
"tag": "Frame"
}
],
"expected": {
"cells": [],
"running": true,
"seed": 7,
"generation": 4
}
},
{
"name": "step-while-paused-computes-one-generation",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Step"
}
],
"expected": {
"cells": [
{
"x": 5,
"y": 4
},
{
"x": 5,
"y": 5
},
{
"x": 5,
"y": 6
}
],
"running": false,
"seed": 7,
"generation": 4
}
},
{
"name": "step-while-running-is-ignored",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
},
{
"tag": "Step"
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-pause-starts-a-paused-world",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "TogglePause"
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-pause-pauses-a-running-world",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
},
{
"tag": "TogglePause"
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-on-an-empty-board-adds-the-cell",
"args": [
{
"cells": [],
"running": false,
"seed": 7,
"generation": 0
},
{
"tag": "Toggle",
"cell": {
"x": 3,
"y": 2
}
}
],
"expected": {
"cells": [
{
"x": 3,
"y": 2
}
],
"running": false,
"seed": 7,
"generation": 0
}
},
{
"name": "toggle-adds-a-dead-cell-in-row-major-order",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 9,
"y": 4
}
}
],
"expected": {
"cells": [
{
"x": 9,
"y": 4
},
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-adds-a-cell-between-two-on-the-same-row",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 5,
"y": 5
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-adds-a-cell-before-all-others",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 0,
"y": 0
}
}
],
"expected": {
"cells": [
{
"x": 0,
"y": 0
},
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-adds-a-cell-after-all-others",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 39,
"y": 29
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
},
{
"x": 39,
"y": 29
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-removes-a-live-cell",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 5,
"y": 5
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-adds-a-cell-at-the-start-of-a-row",
"args": [
{
"cells": [
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 4,
"y": 5
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-works-while-running-too",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 5,
"y": 6
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
},
{
"x": 5,
"y": 6
}
],
"running": true,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-off-the-board-is-ignored",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 40,
"y": 3
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-above-the-board-is-ignored",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 3,
"y": -1
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "toggle-just-below-the-board-is-ignored",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
},
{
"tag": "Toggle",
"cell": {
"x": 3,
"y": 30
}
}
],
"expected": {
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": false,
"seed": 7,
"generation": 3
}
},
{
"name": "clear-empties-the-board-and-restarts-the-count",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 3
},
{
"tag": "Clear"
}
],
"expected": {
"cells": [],
"running": true,
"seed": 7,
"generation": 0
}
},
{
"name": "randomize-fills-the-board-from-the-seed-and-advances-it",
"args": [
{
"cells": [],
"running": false,
"seed": 42,
"generation": 0
},
{
"tag": "Randomize"
}
],
"expected": {
"cells": [
{
"x": 0,
"y": 0
},
{
"x": 2,
"y": 0
},
{
"x": 6,
"y": 0
},
{
"x": 13,
"y": 0
},
{
"x": 20,
"y": 0
},
{
"x": 21,
"y": 0
},
{
"x": 22,
"y": 0
},
{
"x": 23,
"y": 0
},
{
"x": 25,
"y": 0
},
{
"x": 30,
"y": 0
},
{
"x": 4,
"y": 1
},
{
"x": 8,
"y": 1
},
{
"x": 10,
"y": 1
},
{
"x": 12,
"y": 1
},
{
"x": 14,
"y": 1
},
{
"x": 20,
"y": 1
},
{
"x": 21,
"y": 1
},
{
"x": 24,
"y": 1
},
{
"x": 25,
"y": 1
},
{
"x": 31,
"y": 1
},
{
"x": 32,
"y": 1
},
{
"x": 35,
"y": 1
},
{
"x": 36,
"y": 1
},
{
"x": 2,
"y": 2
},
{
"x": 3,
"y": 2
},
{
"x": 5,
"y": 2
},
{
"x": 8,
"y": 2
},
{
"x": 13,
"y": 2
},
{
"x": 16,
"y": 2
},
{
"x": 19,
"y": 2
},
{
"x": 23,
"y": 2
},
{
"x": 29,
"y": 2
},
{
"x": 35,
"y": 2
},
{
"x": 0,
"y": 3
},
{
"x": 5,
"y": 3
},
{
"x": 6,
"y": 3
},
{
"x": 10,
"y": 3
},
{
"x": 16,
"y": 3
},
{
"x": 18,
"y": 3
},
{
"x": 19,
"y": 3
},
{
"x": 20,
"y": 3
},
{
"x": 25,
"y": 3
},
{
"x": 32,
"y": 3
},
{
"x": 37,
"y": 3
},
{
"x": 1,
"y": 4
},
{
"x": 3,
"y": 4
},
{
"x": 4,
"y": 4
},
{
"x": 5,
"y": 4
},
{
"x": 6,
"y": 4
},
{
"x": 10,
"y": 4
},
{
"x": 17,
"y": 4
},
{
"x": 18,
"y": 4
},
{
"x": 21,
"y": 4
},
{
"x": 22,
"y": 4
},
{
"x": 32,
"y": 4
},
{
"x": 34,
"y": 4
},
{
"x": 35,
"y": 4
},
{
"x": 36,
"y": 4
},
{
"x": 38,
"y": 4
},
{
"x": 8,
"y": 5
},
{
"x": 9,
"y": 5
},
{
"x": 11,
"y": 5
},
{
"x": 12,
"y": 5
},
{
"x": 16,
"y": 5
},
{
"x": 22,
"y": 5
},
{
"x": 29,
"y": 5
},
{
"x": 32,
"y": 5
},
{
"x": 34,
"y": 5
},
{
"x": 1,
"y": 6
},
{
"x": 3,
"y": 6
},
{
"x": 6,
"y": 6
},
{
"x": 11,
"y": 6
},
{
"x": 17,
"y": 6
},
{
"x": 23,
"y": 6
},
{
"x": 28,
"y": 6
},
{
"x": 33,
"y": 6
},
{
"x": 36,
"y": 6
},
{
"x": 38,
"y": 6
},
{
"x": 39,
"y": 6
},
{
"x": 6,
"y": 7
},
{
"x": 8,
"y": 7
},
{
"x": 12,
"y": 7
},
{
"x": 16,
"y": 7
},
{
"x": 24,
"y": 7
},
{
"x": 27,
"y": 7
},
{
"x": 29,
"y": 7
},
{
"x": 31,
"y": 7
},
{
"x": 33,
"y": 7
},
{
"x": 35,
"y": 7
},
{
"x": 36,
"y": 7
},
{
"x": 1,
"y": 8
},
{
"x": 4,
"y": 8
},
{
"x": 6,
"y": 8
},
{
"x": 10,
"y": 8
},
{
"x": 11,
"y": 8
},
{
"x": 14,
"y": 8
},
{
"x": 16,
"y": 8
},
{
"x": 20,
"y": 8
},
{
"x": 24,
"y": 8
},
{
"x": 39,
"y": 8
},
{
"x": 2,
"y": 9
},
{
"x": 4,
"y": 9
},
{
"x": 6,
"y": 9
},
{
"x": 8,
"y": 9
},
{
"x": 9,
"y": 9
},
{
"x": 10,
"y": 9
},
{
"x": 16,
"y": 9
},
{
"x": 18,
"y": 9
},
{
"x": 22,
"y": 9
},
{
"x": 24,
"y": 9
},
{
"x": 33,
"y": 9
},
{
"x": 37,
"y": 9
},
{
"x": 38,
"y": 9
},
{
"x": 0,
"y": 10
},
{
"x": 1,
"y": 10
},
{
"x": 6,
"y": 10
},
{
"x": 9,
"y": 10
},
{
"x": 14,
"y": 10
},
{
"x": 15,
"y": 10
},
{
"x": 20,
"y": 10
},
{
"x": 22,
"y": 10
},
{
"x": 23,
"y": 10
},
{
"x": 26,
"y": 10
},
{
"x": 39,
"y": 10
},
{
"x": 11,
"y": 11
},
{
"x": 14,
"y": 11
},
{
"x": 24,
"y": 11
},
{
"x": 27,
"y": 11
},
{
"x": 35,
"y": 11
},
{
"x": 36,
"y": 11
},
{
"x": 0,
"y": 12
},
{
"x": 2,
"y": 12
},
{
"x": 9,
"y": 12
},
{
"x": 17,
"y": 12
},
{
"x": 21,
"y": 12
},
{
"x": 26,
"y": 12
},
{
"x": 30,
"y": 12
},
{
"x": 31,
"y": 12
},
{
"x": 37,
"y": 12
},
{
"x": 1,
"y": 13
},
{
"x": 2,
"y": 13
},
{
"x": 7,
"y": 13
},
{
"x": 14,
"y": 13
},
{
"x": 16,
"y": 13
},
{
"x": 19,
"y": 13
},
{
"x": 23,
"y": 13
},
{
"x": 24,
"y": 13
},
{
"x": 26,
"y": 13
},
{
"x": 28,
"y": 13
},
{
"x": 29,
"y": 13
},
{
"x": 3,
"y": 14
},
{
"x": 7,
"y": 14
},
{
"x": 8,
"y": 14
},
{
"x": 10,
"y": 14
},
{
"x": 14,
"y": 14
},
{
"x": 17,
"y": 14
},
{
"x": 18,
"y": 14
},
{
"x": 22,
"y": 14
},
{
"x": 26,
"y": 14
},
{
"x": 27,
"y": 14
},
{
"x": 30,
"y": 14
},
{
"x": 7,
"y": 15
},
{
"x": 11,
"y": 15
},
{
"x": 12,
"y": 15
},
{
"x": 14,
"y": 15
},
{
"x": 16,
"y": 15
},
{
"x": 18,
"y": 15
},
{
"x": 19,
"y": 15
},
{
"x": 21,
"y": 15
},
{
"x": 24,
"y": 15
},
{
"x": 29,
"y": 15
},
{
"x": 30,
"y": 15
},
{
"x": 35,
"y": 15
},
{
"x": 38,
"y": 15
},
{
"x": 39,
"y": 15
},
{
"x": 0,
"y": 16
},
{
"x": 2,
"y": 16
},
{
"x": 6,
"y": 16
},
{
"x": 17,
"y": 16
},
{
"x": 20,
"y": 16
},
{
"x": 21,
"y": 16
},
{
"x": 22,
"y": 16
},
{
"x": 24,
"y": 16
},
{
"x": 29,
"y": 16
},
{
"x": 30,
"y": 16
},
{
"x": 31,
"y": 16
},
{
"x": 32,
"y": 16
},
{
"x": 11,
"y": 17
},
{
"x": 13,
"y": 17
},
{
"x": 14,
"y": 17
},
{
"x": 16,
"y": 17
},
{
"x": 17,
"y": 17
},
{
"x": 23,
"y": 17
},
{
"x": 29,
"y": 17
},
{
"x": 1,
"y": 18
},
{
"x": 5,
"y": 18
},
{
"x": 10,
"y": 18
},
{
"x": 11,
"y": 18
},
{
"x": 20,
"y": 18
},
{
"x": 22,
"y": 18
},
{
"x": 35,
"y": 18
},
{
"x": 37,
"y": 18
},
{
"x": 38,
"y": 18
},
{
"x": 0,
"y": 19
},
{
"x": 3,
"y": 19
},
{
"x": 4,
"y": 19
},
{
"x": 5,
"y": 19
},
{
"x": 6,
"y": 19
},
{
"x": 9,
"y": 19
},
{
"x": 12,
"y": 19
},
{
"x": 18,
"y": 19
},
{
"x": 24,
"y": 19
},
{
"x": 28,
"y": 19
},
{
"x": 29,
"y": 19
},
{
"x": 30,
"y": 19
},
{
"x": 34,
"y": 19
},
{
"x": 0,
"y": 20
},
{
"x": 3,
"y": 20
},
{
"x": 5,
"y": 20
},
{
"x": 6,
"y": 20
},
{
"x": 7,
"y": 20
},
{
"x": 13,
"y": 20
},
{
"x": 15,
"y": 20
},
{
"x": 17,
"y": 20
},
{
"x": 18,
"y": 20
},
{
"x": 34,
"y": 20
},
{
"x": 38,
"y": 20
},
{
"x": 4,
"y": 21
},
{
"x": 6,
"y": 21
},
{
"x": 10,
"y": 21
},
{
"x": 11,
"y": 21
},
{
"x": 13,
"y": 21
},
{
"x": 16,
"y": 21
},
{
"x": 21,
"y": 21
},
{
"x": 23,
"y": 21
},
{
"x": 27,
"y": 21
},
{
"x": 28,
"y": 21
},
{
"x": 35,
"y": 21
},
{
"x": 2,
"y": 22
},
{
"x": 10,
"y": 22
},
{
"x": 13,
"y": 22
},
{
"x": 16,
"y": 22
},
{
"x": 18,
"y": 22
},
{
"x": 20,
"y": 22
},
{
"x": 33,
"y": 22
},
{
"x": 35,
"y": 22
},
{
"x": 36,
"y": 22
},
{
"x": 0,
"y": 23
},
{
"x": 7,
"y": 23
},
{
"x": 12,
"y": 23
},
{
"x": 19,
"y": 23
},
{
"x": 21,
"y": 23
},
{
"x": 24,
"y": 23
},
{
"x": 29,
"y": 23
},
{
"x": 35,
"y": 23
},
{
"x": 7,
"y": 24
},
{
"x": 8,
"y": 24
},
{
"x": 9,
"y": 24
},
{
"x": 14,
"y": 24
},
{
"x": 15,
"y": 24
},
{
"x": 19,
"y": 24
},
{
"x": 22,
"y": 24
},
{
"x": 30,
"y": 24
},
{
"x": 36,
"y": 24
},
{
"x": 7,
"y": 25
},
{
"x": 9,
"y": 25
},
{
"x": 10,
"y": 25
},
{
"x": 11,
"y": 25
},
{
"x": 12,
"y": 25
},
{
"x": 17,
"y": 25
},
{
"x": 21,
"y": 25
},
{
"x": 22,
"y": 25
},
{
"x": 25,
"y": 25
},
{
"x": 36,
"y": 25
},
{
"x": 38,
"y": 25
},
{
"x": 2,
"y": 26
},
{
"x": 3,
"y": 26
},
{
"x": 11,
"y": 26
},
{
"x": 12,
"y": 26
},
{
"x": 21,
"y": 26
},
{
"x": 24,
"y": 26
},
{
"x": 25,
"y": 26
},
{
"x": 27,
"y": 26
},
{
"x": 29,
"y": 26
},
{
"x": 35,
"y": 26
},
{
"x": 36,
"y": 26
},
{
"x": 6,
"y": 27
},
{
"x": 7,
"y": 27
},
{
"x": 19,
"y": 27
},
{
"x": 20,
"y": 27
},
{
"x": 32,
"y": 27
},
{
"x": 33,
"y": 27
},
{
"x": 34,
"y": 27
},
{
"x": 38,
"y": 27
},
{
"x": 39,
"y": 27
},
{
"x": 0,
"y": 28
},
{
"x": 2,
"y": 28
},
{
"x": 3,
"y": 28
},
{
"x": 6,
"y": 28
},
{
"x": 7,
"y": 28
},
{
"x": 9,
"y": 28
},
{
"x": 12,
"y": 28
},
{
"x": 13,
"y": 28
},
{
"x": 14,
"y": 28
},
{
"x": 25,
"y": 28
},
{
"x": 26,
"y": 28
},
{
"x": 28,
"y": 28
},
{
"x": 32,
"y": 28
},
{
"x": 33,
"y": 28
},
{
"x": 5,
"y": 29
},
{
"x": 9,
"y": 29
},
{
"x": 14,
"y": 29
},
{
"x": 16,
"y": 29
},
{
"x": 19,
"y": 29
},
{
"x": 24,
"y": 29
},
{
"x": 26,
"y": 29
},
{
"x": 28,
"y": 29
},
{
"x": 32,
"y": 29
},
{
"x": 33,
"y": 29
}
],
"running": false,
"seed": 3150687386,
"generation": 0
}
},
{
"name": "randomize-replaces-the-cells-restarts-the-count-and-keeps-running",
"args": [
{
"cells": [
{
"x": 4,
"y": 5
},
{
"x": 5,
"y": 5
},
{
"x": 6,
"y": 5
}
],
"running": true,
"seed": 7,
"generation": 12
},
{
"tag": "Randomize"
}
],
"expected": {
"cells": [
{
"x": 0,
"y": 0
},
{
"x": 5,
"y": 0
},
{
"x": 9,
"y": 0
},
{
"x": 13,
"y": 0
},
{
"x": 19,
"y": 0
},
{
"x": 20,
"y": 0
},
{
"x": 21,
"y": 0
},
{
"x": 22,
"y": 0
},
{
"x": 24,
"y": 0
},
{
"x": 27,
"y": 0
},
{
"x": 28,
"y": 0
},
{
"x": 29,
"y": 0
},
{
"x": 31,
"y": 0
},
{
"x": 5,
"y": 1
},
{
"x": 8,
"y": 1
},
{
"x": 11,
"y": 1
},
{
"x": 15,
"y": 1
},
{
"x": 22,
"y": 1
},
{
"x": 27,
"y": 1
},
{
"x": 30,
"y": 1
},
{
"x": 31,
"y": 1
},
{
"x": 37,
"y": 1
},
{
"x": 1,
"y": 2
},
{
"x": 4,
"y": 2
},
{
"x": 7,
"y": 2
},
{
"x": 12,
"y": 2
},
{
"x": 23,
"y": 2
},
{
"x": 33,
"y": 2
},
{
"x": 35,
"y": 2
},
{
"x": 39,
"y": 2
},
{
"x": 4,
"y": 3
},
{
"x": 8,
"y": 3
},
{
"x": 11,
"y": 3
},
{
"x": 15,
"y": 3
},
{
"x": 18,
"y": 3
},
{
"x": 21,
"y": 3
},
{
"x": 22,
"y": 3
},
{
"x": 23,
"y": 3
},
{
"x": 35,
"y": 3
},
{
"x": 36,
"y": 3
},
{
"x": 4,
"y": 4
},
{
"x": 11,
"y": 4
},
{
"x": 18,
"y": 4
},
{
"x": 20,
"y": 4
},
{
"x": 23,
"y": 4
},
{
"x": 26,
"y": 4
},
{
"x": 32,
"y": 4
},
{
"x": 35,
"y": 4
},
{
"x": 36,
"y": 4
},
{
"x": 2,
"y": 5
},
{
"x": 15,
"y": 5
},
{
"x": 20,
"y": 5
},
{
"x": 25,
"y": 5
},
{
"x": 28,
"y": 5
},
{
"x": 31,
"y": 5
},
{
"x": 35,
"y": 5
},
{
"x": 3,
"y": 6
},
{
"x": 5,
"y": 6
},
{
"x": 9,
"y": 6
},
{
"x": 10,
"y": 6
},
{
"x": 11,
"y": 6
},
{
"x": 12,
"y": 6
},
{
"x": 13,
"y": 6
},
{
"x": 14,
"y": 6
},
{
"x": 19,
"y": 6
},
{
"x": 22,
"y": 6
},
{
"x": 27,
"y": 6
},
{
"x": 32,
"y": 6
},
{
"x": 33,
"y": 6
},
{
"x": 0,
"y": 7
},
{
"x": 3,
"y": 7
},
{
"x": 10,
"y": 7
},
{
"x": 13,
"y": 7
},
{
"x": 16,
"y": 7
},
{
"x": 23,
"y": 7
},
{
"x": 32,
"y": 7
},
{
"x": 35,
"y": 7
},
{
"x": 0,
"y": 8
},
{
"x": 3,
"y": 8
},
{
"x": 4,
"y": 8
},
{
"x": 5,
"y": 8
},
{
"x": 14,
"y": 8
},
{
"x": 16,
"y": 8
},
{
"x": 19,
"y": 8
},
{
"x": 20,
"y": 8
},
{
"x": 21,
"y": 8
},
{
"x": 22,
"y": 8
},
{
"x": 24,
"y": 8
},
{
"x": 27,
"y": 8
},
{
"x": 37,
"y": 8
},
{
"x": 12,
"y": 9
},
{
"x": 14,
"y": 9
},
{
"x": 18,
"y": 9
},
{
"x": 23,
"y": 9
},
{
"x": 26,
"y": 9
},
{
"x": 37,
"y": 9
},
{
"x": 39,
"y": 9
},
{
"x": 18,
"y": 10
},
{
"x": 20,
"y": 10
},
{
"x": 26,
"y": 10
},
{
"x": 30,
"y": 10
},
{
"x": 1,
"y": 11
},
{
"x": 4,
"y": 11
},
{
"x": 15,
"y": 11
},
{
"x": 19,
"y": 11
},
{
"x": 24,
"y": 11
},
{
"x": 30,
"y": 11
},
{
"x": 33,
"y": 11
},
{
"x": 34,
"y": 11
},
{
"x": 37,
"y": 11
},
{
"x": 7,
"y": 12
},
{
"x": 14,
"y": 12
},
{
"x": 16,
"y": 12
},
{
"x": 18,
"y": 12
},
{
"x": 24,
"y": 12
},
{
"x": 26,
"y": 12
},
{
"x": 32,
"y": 12
},
{
"x": 34,
"y": 12
},
{
"x": 36,
"y": 12
},
{
"x": 37,
"y": 12
},
{
"x": 39,
"y": 12
},
{
"x": 0,
"y": 13
},
{
"x": 8,
"y": 13
},
{
"x": 10,
"y": 13
},
{
"x": 11,
"y": 13
},
{
"x": 12,
"y": 13
},
{
"x": 14,
"y": 13
},
{
"x": 15,
"y": 13
},
{
"x": 19,
"y": 13
},
{
"x": 20,
"y": 13
},
{
"x": 25,
"y": 13
},
{
"x": 32,
"y": 13
},
{
"x": 33,
"y": 13
},
{
"x": 37,
"y": 13
},
{
"x": 38,
"y": 13
},
{
"x": 2,
"y": 14
},
{
"x": 10,
"y": 14
},
{
"x": 11,
"y": 14
},
{
"x": 12,
"y": 14
},
{
"x": 14,
"y": 14
},
{
"x": 15,
"y": 14
},
{
"x": 16,
"y": 14
},
{
"x": 29,
"y": 14
},
{
"x": 37,
"y": 14
},
{
"x": 38,
"y": 14
},
{
"x": 0,
"y": 15
},
{
"x": 1,
"y": 15
},
{
"x": 2,
"y": 15
},
{
"x": 4,
"y": 15
},
{
"x": 5,
"y": 15
},
{
"x": 6,
"y": 15
},
{
"x": 8,
"y": 15
},
{
"x": 9,
"y": 15
},
{
"x": 10,
"y": 15
},
{
"x": 11,
"y": 15
},
{
"x": 14,
"y": 15
},
{
"x": 15,
"y": 15
},
{
"x": 17,
"y": 15
},
{
"x": 18,
"y": 15
},
{
"x": 19,
"y": 15
},
{
"x": 20,
"y": 15
},
{
"x": 24,
"y": 15
},
{
"x": 28,
"y": 15
},
{
"x": 0,
"y": 16
},
{
"x": 8,
"y": 16
},
{
"x": 9,
"y": 16
},
{
"x": 11,
"y": 16
},
{
"x": 18,
"y": 16
},
{
"x": 20,
"y": 16
},
{
"x": 21,
"y": 16
},
{
"x": 22,
"y": 16
},
{
"x": 31,
"y": 16
},
{
"x": 32,
"y": 16
},
{
"x": 33,
"y": 16
},
{
"x": 34,
"y": 16
},
{
"x": 38,
"y": 16
},
{
"x": 8,
"y": 17
},
{
"x": 13,
"y": 17
},
{
"x": 20,
"y": 17
},
{
"x": 21,
"y": 17
},
{
"x": 5,
"y": 18
},
{
"x": 9,
"y": 18
},
{
"x": 15,
"y": 18
},
{
"x": 20,
"y": 18
},
{
"x": 21,
"y": 18
},
{
"x": 24,
"y": 18
},
{
"x": 29,
"y": 18
},
{
"x": 31,
"y": 18
},
{
"x": 34,
"y": 18
},
{
"x": 35,
"y": 18
},
{
"x": 36,
"y": 18
},
{
"x": 37,
"y": 18
},
{
"x": 1,
"y": 19
},
{
"x": 2,
"y": 19
},
{
"x": 4,
"y": 19
},
{
"x": 5,
"y": 19
},
{
"x": 9,
"y": 19
},
{
"x": 15,
"y": 19
},
{
"x": 20,
"y": 19
},
{
"x": 23,
"y": 19
},
{
"x": 26,
"y": 19
},
{
"x": 27,
"y": 19
},
{
"x": 30,
"y": 19
},
{
"x": 34,
"y": 19
},
{
"x": 35,
"y": 19
},
{
"x": 37,
"y": 19
},
{
"x": 1,
"y": 20
},
{
"x": 2,
"y": 20
},
{
"x": 5,
"y": 20
},
{
"x": 6,
"y": 20
},
{
"x": 10,
"y": 20
},
{
"x": 11,
"y": 20
},
{
"x": 13,
"y": 20
},
{
"x": 18,
"y": 20
},
{
"x": 23,
"y": 20
},
{
"x": 27,
"y": 20
},
{
"x": 28,
"y": 20
},
{
"x": 29,
"y": 20
},
{
"x": 31,
"y": 20
},
{
"x": 32,
"y": 20
},
{
"x": 33,
"y": 20
},
{
"x": 34,
"y": 20
},
{
"x": 1,
"y": 21
},
{
"x": 2,
"y": 21
},
{
"x": 4,
"y": 21
},
{
"x": 11,
"y": 21
},
{
"x": 15,
"y": 21
},
{
"x": 16,
"y": 21
},
{
"x": 17,
"y": 21
},
{
"x": 26,
"y": 21
},
{
"x": 27,
"y": 21
},
{
"x": 29,
"y": 21
},
{
"x": 30,
"y": 21
},
{
"x": 32,
"y": 21
},
{
"x": 34,
"y": 21
},
{
"x": 38,
"y": 21
},
{
"x": 0,
"y": 22
},
{
"x": 3,
"y": 22
},
{
"x": 5,
"y": 22
},
{
"x": 6,
"y": 22
},
{
"x": 7,
"y": 22
},
{
"x": 14,
"y": 22
},
{
"x": 19,
"y": 22
},
{
"x": 22,
"y": 22
},
{
"x": 24,
"y": 22
},
{
"x": 27,
"y": 22
},
{
"x": 35,
"y": 22
},
{
"x": 36,
"y": 22
},
{
"x": 3,
"y": 23
},
{
"x": 7,
"y": 23
},
{
"x": 10,
"y": 23
},
{
"x": 13,
"y": 23
},
{
"x": 18,
"y": 23
},
{
"x": 19,
"y": 23
},
{
"x": 20,
"y": 23
},
{
"x": 25,
"y": 23
},
{
"x": 28,
"y": 23
},
{
"x": 31,
"y": 23
},
{
"x": 4,
"y": 24
},
{
"x": 6,
"y": 24
},
{
"x": 9,
"y": 24
},
{
"x": 19,
"y": 24
},
{
"x": 20,
"y": 24
},
{
"x": 21,
"y": 24
},
{
"x": 26,
"y": 24
},
{
"x": 35,
"y": 24
},
{
"x": 0,
"y": 25
},
{
"x": 3,
"y": 25
},
{
"x": 4,
"y": 25
},
{
"x": 6,
"y": 25
},
{
"x": 13,
"y": 25
},
{
"x": 17,
"y": 25
},
{
"x": 20,
"y": 25
},
{
"x": 21,
"y": 25
},
{
"x": 25,
"y": 25
},
{
"x": 27,
"y": 25
},
{
"x": 31,
"y": 25
},
{
"x": 39,
"y": 25
},
{
"x": 2,
"y": 26
},
{
"x": 3,
"y": 26
},
{
"x": 6,
"y": 26
},
{
"x": 11,
"y": 26
},
{
"x": 13,
"y": 26
},
{
"x": 19,
"y": 26
},
{
"x": 23,
"y": 26
},
{
"x": 31,
"y": 26
},
{
"x": 34,
"y": 26
},
{
"x": 35,
"y": 26
},
{
"x": 2,
"y": 27
},
{
"x": 17,
"y": 27
},
{
"x": 20,
"y": 27
},
{
"x": 32,
"y": 27
},
{
"x": 35,
"y": 27
},
{
"x": 3,
"y": 28
},
{
"x": 5,
"y": 28
},
{
"x": 9,
"y": 28
},
{
"x": 11,
"y": 28
},
{
"x": 13,
"y": 28
},
{
"x": 14,
"y": 28
},
{
"x": 15,
"y": 28
},
{
"x": 17,
"y": 28
},
{
"x": 20,
"y": 28
},
{
"x": 26,
"y": 28
},
{
"x": 28,
"y": 28
},
{
"x": 29,
"y": 28
},
{
"x": 34,
"y": 28
},
{
"x": 39,
"y": 28
},
{
"x": 2,
"y": 29
},
{
"x": 4,
"y": 29
},
{
"x": 5,
"y": 29
},
{
"x": 6,
"y": 29
},
{
"x": 7,
"y": 29
},
{
"x": 15,
"y": 29
},
{
"x": 17,
"y": 29
},
{
"x": 20,
"y": 29
},
{
"x": 23,
"y": 29
},
{
"x": 26,
"y": 29
},
{
"x": 29,
"y": 29
},
{
"x": 36,
"y": 29
},
{
"x": 37,
"y": 29
},
{
"x": 39,
"y": 29
}
],
"running": true,
"seed": 3150687351,
"generation": 0
}
}
]
}