Implement basic board types/functions
This commit is contained in:
parent
2b64fe2a0b
commit
0fe8205ed9
8 changed files with 140 additions and 35 deletions
7
test/Main.hs
Normal file
7
test/Main.hs
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
module Main where
|
||||
|
||||
import Spec
|
||||
import Test.Hspec
|
||||
|
||||
main :: IO ()
|
||||
main = hspec spec
|
||||
25
test/Spec.hs
25
test/Spec.hs
|
|
@ -1,9 +1,24 @@
|
|||
module Main where
|
||||
{-# 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 = undefined
|
||||
|
||||
main :: IO ()
|
||||
main = hspec 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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue