Creatures are going to have an inventory too now in addition to characters, so all the data types and lenses and stuff that define inventory need to be broken out into a separate module so the Creature entity can use them. Change-Id: I83f1c70d316afaaf2e75901f9dc28f79fd2cd31f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3901 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			900 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			900 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| {-# OPTIONS_GHC -Wno-type-defaults #-}
 | |
| --------------------------------------------------------------------------------
 | |
| module Xanthous.Entities.CharacterSpec (main, test) where
 | |
| --------------------------------------------------------------------------------
 | |
| import           Test.Prelude
 | |
| --------------------------------------------------------------------------------
 | |
| import           Xanthous.Entities.Character
 | |
| import           Xanthous.Util (endoTimes)
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| main :: IO ()
 | |
| main = defaultMain test
 | |
| 
 | |
| test :: TestTree
 | |
| test = testGroup "Xanthous.Entities.CharacterSpec"
 | |
|   [ testGroup "Knuckles"
 | |
|     [ testBatch $ monoid @Knuckles mempty
 | |
|     , testGroup "damageKnuckles"
 | |
|       [ testCase "caps at 5" $
 | |
|           let knuckles' = endoTimes 6 damageKnuckles mempty
 | |
|           in _knuckleDamage knuckles' @?= 5
 | |
|       ]
 | |
|     ]
 | |
|   ]
 |