{ "function": "tick", "cases": [ { "name": "eat-then-respawn", "args": [ { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 1, "y": 0 }, "seed": 0, "score": 0, "status": "Playing", "frame": 0, "queued": null } ], "expected": { "width": 3, "height": 2, "snake": [ { "x": 1, "y": 0 }, { "x": 0, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 1, "y": 1 }, "seed": 1831565813, "score": 1, "status": "Playing", "frame": 0, "queued": null } }, { "name": "plain-move-no-respawn", "args": [ { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "Playing", "frame": 0, "queued": null } ], "expected": { "width": 3, "height": 2, "snake": [ { "x": 1, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "Playing", "frame": 0, "queued": null } }, { "name": "wall-hit-is-game-over-no-spawn", "args": [ { "width": 3, "height": 2, "snake": [ { "x": 2, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 0, "y": 1 }, "seed": 0, "score": 0, "status": "Playing", "frame": 0, "queued": null } ], "expected": { "width": 3, "height": 2, "snake": [ { "x": 2, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 0, "y": 1 }, "seed": 0, "score": 0, "status": "GameOver", "frame": 0, "queued": null } }, { "name": "game-over-state-unchanged", "args": [ { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "GameOver", "frame": 0, "queued": null } ], "expected": { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 0 } ], "dir": "Right", "nextDir": "Right", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "GameOver", "frame": 0, "queued": null } }, { "name": "eating-the-last-free-cell-wins", "args": [ { "width": 2, "height": 2, "snake": [ { "x": 0, "y": 0 }, { "x": 0, "y": 1 }, { "x": 1, "y": 1 } ], "dir": "Up", "nextDir": "Right", "apple": { "x": 1, "y": 0 }, "seed": 7, "score": 2, "status": "Playing", "frame": 0, "queued": null } ], "expected": { "width": 2, "height": 2, "snake": [ { "x": 1, "y": 0 }, { "x": 0, "y": 0 }, { "x": 0, "y": 1 }, { "x": 1, "y": 1 } ], "dir": "Right", "nextDir": "Right", "apple": null, "seed": 7, "score": 3, "status": "Won", "frame": 0, "queued": null } } ] }