tvl-depot/users/aspen/xanthous/test/Xanthous/Entities/RawsSpec.hs
Aspen Smith 82ecd61f5c chore(users): grfn -> aspen
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>
2024-02-14 19:37:41 +00:00

30 lines
826 B
Haskell

-- |
module Xanthous.Entities.RawsSpec (main, test) where
import Test.Prelude
import Xanthous.Entities.Raws
import Xanthous.Entities.RawTypes
(_Creature, entityName, generateParams, HasEquippedItem (equippedItem))
main :: IO ()
main = defaultMain test
test :: TestTree
test = testGroup "Xanthous.Entities.Raws"
[ testGroup "raws"
[ testCase "are all valid" $ raws `deepseq` pure ()
, testCase "all CreatureEquippedItems reference existent entity names" $
let notFound
= raws
^.. folded
. _Creature
. generateParams
. _Just
. equippedItem
. _Just
. entityName
. filtered (isNothing . raw)
in null notFound @? ("Some entities weren't found: " <> show notFound)
]
]