{ "function": "sessionUpdate", "cases": [ { "name": "a-step-without-eating-keeps-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 2, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false }, { "tag": "Tick" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 2, "y": 1 }, { "x": 1, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 2, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false } }, { "name": "the-first-apple-with-no-record-is-an-improvement", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 5, "score": 0, "status": "Playing", "frame": 0, "queued": null }, "best": 0, "improved": false }, { "tag": "Tick" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 2, "y": 1 }, { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 1831565818, "score": 1, "status": "Playing", "frame": 0, "queued": null }, "best": 1, "improved": true } }, { "name": "eating-past-the-record-raises-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 5, "score": 5, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false }, { "tag": "Tick" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 2, "y": 1 }, { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 1831565818, "score": 6, "status": "Playing", "frame": 0, "queued": null }, "best": 6, "improved": true } }, { "name": "eating-below-the-record-keeps-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 5, "score": 1, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false }, { "tag": "Tick" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 2, "y": 1 }, { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 1831565818, "score": 2, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false } }, { "name": "equalling-the-record-is-not-an-improvement", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 5, "score": 4, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false }, { "tag": "Tick" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 2, "y": 1 }, { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 1831565818, "score": 5, "status": "Playing", "frame": 0, "queued": null }, "best": 5, "improved": false } }, { "name": "the-next-action-clears-improved", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 6, "status": "Playing", "frame": 0, "queued": null }, "best": 6, "improved": true }, { "tag": "Turn", "dir": "Up" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Up", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 6, "status": "Playing", "frame": 0, "queued": null }, "best": 6, "improved": false } }, { "name": "a-frame-that-steps-and-eats-raises-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 5, "score": 3, "status": "Playing", "frame": 6, "queued": null }, "best": 3, "improved": false }, { "tag": "Frame" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 2, "y": 1 }, { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 1831565818, "score": 4, "status": "Playing", "frame": 0, "queued": null }, "best": 4, "improved": true } }, { "name": "a-frame-that-only-counts-keeps-the-best-and-clears-improved", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 3, "status": "Playing", "frame": 1, "queued": null }, "best": 3, "improved": true }, { "tag": "Frame" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 3, "status": "Playing", "frame": 2, "queued": null }, "best": 3, "improved": false } }, { "name": "game-over-keeps-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 3, "y": 1 }, { "x": 2, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 4, "status": "Playing", "frame": 0, "queued": null }, "best": 4, "improved": false }, { "tag": "Tick" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 3, "y": 1 }, { "x": 2, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 4, "status": "GameOver", "frame": 0, "queued": null }, "best": 4, "improved": false } }, { "name": "restart-keeps-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 6, "status": "GameOver", "frame": 0, "queued": null }, "best": 6, "improved": false }, { "tag": "Restart" } ], "expected": { "game": { "width": 20, "height": 20, "snake": [ { "x": 10, "y": 10 }, { "x": 9, "y": 10 }, { "x": 8, "y": 10 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 11, "y": 9 }, "seed": 1831565818, "score": 0, "status": "Playing", "frame": 0, "queued": null }, "best": 6, "improved": false } }, { "name": "pausing-keeps-the-best", "args": [ { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 2, "status": "Playing", "frame": 0, "queued": null }, "best": 9, "improved": true }, { "tag": "TogglePause" } ], "expected": { "game": { "width": 4, "height": 3, "snake": [ { "x": 1, "y": 1 }, { "x": 0, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 3, "y": 0 }, "seed": 5, "score": 2, "status": "Paused", "frame": 0, "queued": null }, "best": 9, "improved": false } } ] }