{ "function": "history", "cases": [ { "name": "no-actions-gives-just-the-start", "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 }, [] ], "expected": [ { "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 } ] }, { "name": "every-intermediate-state-is-kept", "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 }, [ { "tag": "Turn", "dir": "Down" }, { "tag": "Tick" }, { "tag": "Tick" } ] ], "expected": [ { "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 }, { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 0 } ], "dir": "Right", "nextDir": "Down", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "Playing", "frame": 0 }, { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 1 } ], "dir": "Down", "nextDir": "Down", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "Playing", "frame": 0 }, { "width": 3, "height": 2, "snake": [ { "x": 0, "y": 1 } ], "dir": "Down", "nextDir": "Down", "apple": { "x": 2, "y": 1 }, "seed": 0, "score": 0, "status": "GameOver", "frame": 0 } ] } ] }