LambdaHack-0.11.0.0: test/InventoryMUnitTests.hs
-- TODO: at some point we'll want our unit test hierarchy to match the
-- main codebase file hierarchy
module InventoryMUnitTests (inventoryMUnitTests) where
import Prelude ()
import Game.LambdaHack.Core.Prelude
import Test.Tasty
import Test.Tasty.HUnit
import Game.LambdaHack.Client.UI.InventoryM
import Game.LambdaHack.Definition.Defs
import UnitTestHelpers
inventoryMUnitTests :: TestTree
inventoryMUnitTests = testGroup "inventoryMUnitTests"
[ testCase "getFull no stores " $ do
let testFn = getFull testActorId
(return SuitsEverything) -- :: m Suitability
(\_ _ _ _ _ -> "specific prompt")
(\_ _ _ _ _ -> "generic prompt")
[] -- :: [CStore]
False
False
result <- executorCli testFn stubCliState
fst result @?= Left "no items"
, testCase "getFull no item in eqp store" $ do
let testFn = getFull testActorId
(return SuitsEverything)
(\_ _ _ _ _ -> "specific prompt")
(\_ _ _ _ _ -> "generic prompt")
[CEqp]
False
False
result <- executorCli testFn stubCliState
fst result @?= Left "no items in equipment outfit"
, testCase "getFull an item in eqp store" $ do
let testFn = getFull testActorId
(return SuitsEverything)
(\_ _ _ _ _ -> "specific prompt")
(\_ _ _ _ _ -> "generic prompt")
[CEqp]
False
False
result <- executorCli testFn testCliStateWithItem
fst result @?= Right (CEqp, [(testItemId, (1, []))])
]