2019-09-02 19:56:25 +02:00
|
|
|
-- |
|
|
|
|
|
|
|
|
module Xanthous.Entities.RawsSpec (main, test) where
|
|
|
|
|
|
|
|
import Test.Prelude
|
|
|
|
import Xanthous.Entities.Raws
|
2021-11-24 23:10:47 +01:00
|
|
|
import Xanthous.Entities.RawTypes
|
|
|
|
(_Creature, entityName, generateParams, HasEquippedItem (equippedItem))
|
2019-09-02 19:56:25 +02:00
|
|
|
|
|
|
|
main :: IO ()
|
|
|
|
main = defaultMain test
|
|
|
|
|
|
|
|
test :: TestTree
|
|
|
|
test = testGroup "Xanthous.Entities.Raws"
|
|
|
|
[ testGroup "raws"
|
|
|
|
[ testCase "are all valid" $ raws `deepseq` pure ()
|
2021-11-24 23:10:47 +01:00
|
|
|
, 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)
|
2019-09-02 19:56:25 +02:00
|
|
|
]
|
|
|
|
]
|