{-# LANGUAGE BlockArguments #-} {-# LANGUAGE OverloadedStrings #-} module Spec where import Data.Array (array) import Display (Display (display), displayText) import Test.Hspec import Types.GameBoard import Types.GameMode (SumTo (MkSumTo), Tile (IntTile)) spec :: Spec spec = describe "gameboard" do it "displays correctly" do let tiles = array ((0, 0), (1, 1)) [ ((0, 0), Just $ IntTile 1) , ((0, 1), Just $ IntTile 2) , ((1, 0), Just $ IntTile 3) , ((1, 1), Just $ IntTile 4) ] gameBoard = MkGameBoard{width = 2, height = 2, gameMode = MkSumTo 10, board = tiles} displayText gameBoard `shouldBe` "1 2 \n3 4 \n"