diff options
author | Griffin Smith <root@gws.fyi> | 2019-11-30T03·59-0500 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-11-30T03·59-0500 |
commit | 8a1235c3dcf7fe69b2e2ea3eea326858d26d38b9 (patch) | |
tree | 398c6dce549602c9890fbded64e3bdf2646b2a1f /test/Xanthous | |
parent | 7d8ce026a2acc5a4d208110750be188f0ce5591c (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.hs | 2 |
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 |