packages feed

yaya-0.2.1.0: test/Test/Fold/Retrofit.hs

{-# 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)