about summary refs log blame commit diff
path: root/users/aspen/xanthous/test/Xanthous/Game/StateSpec.hs
blob: 34584f73b2ada7f6e4fe45fabf7bf692e6c342ce (plain) (tree)
1
2
3
4
5
6
7
8
9
10





                                                                                



                                                                        







                                                                                
                                    
                                              


                                                      
                                          

                                                

     

                                         
--------------------------------------------------------------------------------
module Xanthous.Game.StateSpec (main, test) where
--------------------------------------------------------------------------------
import           Test.Prelude
--------------------------------------------------------------------------------
import           Xanthous.Game.State
import           Xanthous.Entities.Raws (raws)
import           Xanthous.Generators.Level.LevelContents (entityFromRaw)
import           Control.Monad.Random (evalRandT)
import           System.Random (getStdGen)
--------------------------------------------------------------------------------

main :: IO ()
main = defaultMain test

test :: TestTree
test = testGroup "Xanthous.Game.StateSpec"
  [ testGroup "entityTypeName"
    [ testCase "for a creature" $ do
        let gormlakRaw = raws ^?! ix "gormlak"
        creature <- runRand $ entityFromRaw gormlakRaw
        entityTypeName creature @?= "Creature"
    , testCase "for an item" $ do
        let stickRaw = raws ^?! ix "stick"
        item <- runRand $ entityFromRaw stickRaw
        entityTypeName item @?= "Item"
    ]
  ]
  where
    runRand x = evalRandT x =<< getStdGen