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>
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| --------------------------------------------------------------------------------
 | |
| module Xanthous.Data.EntitiesSpec (main, test) where
 | |
| --------------------------------------------------------------------------------
 | |
| import           Test.Prelude
 | |
| --------------------------------------------------------------------------------
 | |
| import qualified Data.Aeson as JSON
 | |
| --------------------------------------------------------------------------------
 | |
| import           Xanthous.Data.Entities
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| main :: IO ()
 | |
| main = defaultMain test
 | |
| 
 | |
| test :: TestTree
 | |
| test = testGroup "Xanthous.Data.Entities"
 | |
|   [ testGroup "Collision"
 | |
|     [ testProperty "JSON round-trip" $ \(c :: Collision) ->
 | |
|         JSON.decode (JSON.encode c) === Just c
 | |
|     , testGroup "JSON encoding examples"
 | |
|       [ testCase "Stop" $ JSON.encode Stop @?= "\"Stop\""
 | |
|       , testCase "Combat" $ JSON.encode Combat @?= "\"Combat\""
 | |
|       ]
 | |
|     ]
 | |
|   , testGroup "EntityAttributes"
 | |
|     [ testProperty "JSON round-trip" $ \(ea :: EntityAttributes) ->
 | |
|         JSON.decode (JSON.encode ea) === Just ea
 | |
|     ]
 | |
|   ]
 |