hatt-1.5.0.0: test/main.hs
module Main (main) where
import Data.Logic.Propositional
import Data.Logic.Propositional.NormalForms
import Test.Framework as TF (defaultMain, testGroup, Test)
import Test.Framework.Providers.QuickCheck2 (testProperty)
main :: IO ()
main = defaultMain tests
tests :: [TF.Test]
tests =
[ testGroup "QuickCheck Data.Logic.Propositional.NormalForms"
[ testProperty "SelfEquiv" propSelfEquiv
, testProperty "NNFEquiv" propNNFEquiv
, testProperty "CNFEquiv" propCNFEquiv
, testProperty "DNFEquiv" propDNFEquiv
]
]
propSelfEquiv :: Expr -> Bool
propSelfEquiv expr = expr `equivalent` expr
propNNFEquiv :: Expr -> Bool
propNNFEquiv expr = expr `equivalent` toNNF expr
propCNFEquiv :: Expr -> Bool
propCNFEquiv expr = expr `equivalent` toCNF expr
propDNFEquiv :: Expr -> Bool
propDNFEquiv expr = expr `equivalent` toDNF expr