82ecd61f5c
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
|
|
]
|
|
]
|