more test

This commit is contained in:
Sidharth Kulkarni 2026-05-03 14:08:43 -07:00
parent 45dfde9f40
commit 6279619459
Signed by: skulk
SSH key fingerprint: SHA256:Jby+S9d1WmwqnXIrngHgccYNHz+cYquxN1zm3ym3Kbg

View file

@ -4,14 +4,13 @@
module Spec where module Spec where
import Data.Array (array) import Data.Array (array)
import Display (Display (display), displayText) import Display (displayText)
import Test.Hspec import Test.Hspec
import Types.GameBoard import Types.GameBoard
import Types.GameMode (SumTo (MkSumTo), Tile (IntTile)) import Types.GameMode (SumTo (MkSumTo), Tile (IntTile))
spec :: Spec spec :: Spec
spec = describe "gameboard" do spec = describe "gameboard" do
it "displays correctly" do
let tiles = let tiles =
array array
((0, 0), (1, 1)) ((0, 0), (1, 1))
@ -21,4 +20,10 @@ spec = describe "gameboard" do
, ((1, 1), Just $ IntTile 4) , ((1, 1), Just $ IntTile 4)
] ]
gameBoard = MkGameBoard{width = 2, height = 2, gameMode = MkSumTo 10, board = tiles} gameBoard = MkGameBoard{width = 2, height = 2, gameMode = MkSumTo 10, board = tiles}
it "displays correctly" do
displayText gameBoard `shouldBe` "1 2 \n3 4 \n" displayText gameBoard `shouldBe` "1 2 \n3 4 \n"
it "validates a move" do
selectCheck gameBoard (0, 0) (1, 1) `shouldBe` True
selectCheck gameBoard (0, 0) (0, 1) `shouldBe` False