module Terminal.Game.Layer.ImperativeSpec where import Test.Hspec import Terminal.Game spec :: Spec spec = do let nd = error "" s = (0, False, 0) lf (t, True, i) Tick = (t+1, True, i+1) lf (t, b, i) Tick = (t+1, b, i ) lf (t, _, i) (KeyPress _) = (t, True, i ) qf (3, _, _) = True qf _ = False es = [Tick, KeyPress 'c', KeyPress 'c', Tick, Tick] describe "runGame" $ do it "does not confuse input and logic" $ runGame s lf nd qf nd es `shouldBe` (3, True, 2)