htree-0.1.1.0: test/Spec/HTree/Traverse.hs
module Spec.HTree.Traverse (spec) where
import Data.Functor.Const (Const (Const))
import Data.HTree.Tree (HTree, hctraverse)
import Spec.HTree.Fixtures (ex, exShown, unI, type Ex)
import Spec.HTree.Helpers (forgetHTree)
import Test.Hspec (Spec, describe, it)
spec :: Spec
spec = do
describe "use hctraverse" $ do
it "yields the same result as expected" $ do
let traversed :: Maybe (HTree (Const String) Ex)
traversed = hctraverse @Show (Just . Const . show . unI) ex
Just `traverse` exShown == (forgetHTree <$> traversed)