8a1235c3dc
Refactor a bunch of stuff around to allow for polymorphically surfacing an EntityChar for all entities, and use this to write a generic `entityMenu` function, which generates a menu from the chars of a list of entities - and use that to fully implement (removing `undefined`) menus for both attacking and picking things up when there are multiple entities on the relevant tile.
18 lines
767 B
Haskell
18 lines
767 B
Haskell
--------------------------------------------------------------------------------
|
|
module Xanthous.Data.EntityCharSpec where
|
|
--------------------------------------------------------------------------------
|
|
import Test.Prelude
|
|
--------------------------------------------------------------------------------
|
|
import qualified Data.Aeson as JSON
|
|
--------------------------------------------------------------------------------
|
|
import Xanthous.Data.EntityChar
|
|
--------------------------------------------------------------------------------
|
|
|
|
main :: IO ()
|
|
main = defaultMain test
|
|
|
|
test :: TestTree
|
|
test = testGroup "Xanthous.Data.EntityChar"
|
|
[ testProperty "JSON round-trip" $ \(ec :: EntityChar) ->
|
|
JSON.decode (JSON.encode ec) === Just ec
|
|
]
|