Change-Id: I6c6847fac56f0a9a1a2209792e00a3aec5e672b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10809 Autosubmit: aspen <root@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
--------------------------------------------------------------------------------
 | 
						|
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
 |