{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeApplications #-} module Test.Fold.Retrofit where import Hedgehog import qualified Hedgehog.Gen as Gen import Yaya.Fold.Common import Yaya.Hedgehog.Expr import Yaya.Hedgehog.Fold import Test.Retrofit prop_exprAnaRefl :: Property prop_exprAnaRefl = property $ law_anaRefl =<< forAll (Gen.sized (expression @DExpr)) prop_exprCataCancel :: Property prop_exprCataCancel = property $ law_cataCancel size =<< forAll (genExpr (Gen.sized (expression @DExpr))) prop_exprCataRefl :: Property prop_exprCataRefl = property $ law_cataRefl =<< forAll (Gen.sized (expression @DExpr)) tests :: IO Bool tests = checkParallel $$(discover)