diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Xanthous/GameSpec.hs | 2 | ||||
-rw-r--r-- | test/Xanthous/Generators/UtilSpec.hs | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/test/Xanthous/GameSpec.hs b/test/Xanthous/GameSpec.hs index 9319399ac25f..dbd1677f7e79 100644 --- a/test/Xanthous/GameSpec.hs +++ b/test/Xanthous/GameSpec.hs @@ -5,7 +5,7 @@ import Xanthous.Game import Control.Lens.Properties import Xanthous.Data (move, Direction(Down)) import Xanthous.Data.EntityMap (atPosition) -import Xanthous.Entities.SomeEntity +import Xanthous.Entities (SomeEntity(SomeEntity)) main :: IO () main = defaultMain test diff --git a/test/Xanthous/Generators/UtilSpec.hs b/test/Xanthous/Generators/UtilSpec.hs index a1c2f79d6042..c82c385987b5 100644 --- a/test/Xanthous/Generators/UtilSpec.hs +++ b/test/Xanthous/Generators/UtilSpec.hs @@ -41,7 +41,7 @@ test = testGroup "Xanthous.Generators.Util" $ randInitialize dims aliveChance in bounds res === ((0, 0), (dims ^. width, dims ^. height)) ] - , testGroup "numAliveNeighbors" + , testGroup "numAliveNeighborsM" [ testProperty "maxes out at 8" $ \(GenArray (arr :: Array (Word, Word) Bool)) loc -> let act :: forall s. ST s Word @@ -51,6 +51,17 @@ test = testGroup "Xanthous.Generators.Util" res = runST act in counterexample (show res) $ between 0 8 res ] + , testGroup "numAliveNeighbors" + [ testProperty "is equivalient to runST . numAliveNeighborsM . thaw" $ + \(GenArray (arr :: Array (Word, Word) Bool)) loc -> + let + act :: forall s. ST s Word + act = do + mArr <- thaw @_ @_ @_ @(STUArray s) arr + numAliveNeighborsM mArr loc + res = runST act + in numAliveNeighbors arr loc === res + ] , testGroup "cloneMArray" [ testCase "clones the array" $ runST $ let |