about summary refs log tree commit diff
path: root/test/Xanthous
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2019-11-30T03·59-0500
committerGriffin Smith <root@gws.fyi>2019-11-30T03·59-0500
commit8a1235c3dcf7fe69b2e2ea3eea326858d26d38b9 (patch)
tree398c6dce549602c9890fbded64e3bdf2646b2a1f /test/Xanthous
parent7d8ce026a2acc5a4d208110750be188f0ce5591c (diff)
Use menus for combat and picking up items
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.
Diffstat (limited to 'test/Xanthous')
-rw-r--r--test/Xanthous/Data/EntityCharSpec.hs (renamed from test/Xanthous/EntitiesSpec.hs)12
-rw-r--r--test/Xanthous/GameSpec.hs2
2 files changed, 6 insertions, 8 deletions
diff --git a/test/Xanthous/EntitiesSpec.hs b/test/Xanthous/Data/EntityCharSpec.hs
index 14b03f729331..9e8024c9d223 100644
--- a/test/Xanthous/EntitiesSpec.hs
+++ b/test/Xanthous/Data/EntityCharSpec.hs
@@ -1,20 +1,18 @@
 --------------------------------------------------------------------------------
-module Xanthous.EntitiesSpec where
+module Xanthous.Data.EntityCharSpec where
 --------------------------------------------------------------------------------
 import           Test.Prelude
 --------------------------------------------------------------------------------
 import qualified Data.Aeson as JSON
 --------------------------------------------------------------------------------
-import           Xanthous.Entities
+import           Xanthous.Data.EntityChar
 --------------------------------------------------------------------------------
 
 main :: IO ()
 main = defaultMain test
 
 test :: TestTree
-test = testGroup "Xanthous.Entities"
-  [ testGroup "EntityChar"
-    [ testProperty "JSON round-trip" $ \(ec :: EntityChar) ->
-        JSON.decode (JSON.encode ec) === Just ec
-    ]
+test = testGroup "Xanthous.Data.EntityChar"
+  [ testProperty "JSON round-trip" $ \(ec :: EntityChar) ->
+      JSON.decode (JSON.encode ec) === Just ec
   ]
diff --git a/test/Xanthous/GameSpec.hs b/test/Xanthous/GameSpec.hs
index f9a9c543b90a..75e9f6215ade 100644
--- a/test/Xanthous/GameSpec.hs
+++ b/test/Xanthous/GameSpec.hs
@@ -2,10 +2,10 @@ module Xanthous.GameSpec where
 
 import Test.Prelude hiding (Down)
 import Xanthous.Game
+import Xanthous.Game.State
 import Control.Lens.Properties
 import Xanthous.Data (move, Direction(Down))
 import Xanthous.Data.EntityMap (atPosition)
-import Xanthous.Entities (SomeEntity(SomeEntity))
 
 main :: IO ()
 main = defaultMain test