24 lines
784 B
Haskell
24 lines
784 B
Haskell
{-# 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"
|