{-# OPTIONS -fglasgow-exts #-} module LogicTesting where import Test.QuickCheck import Logic import Representations import LogicRules import RuleTesting import Rules import LogicGenerator prop_logic_semantics1 :: Rule1 Logic -> Logic -> Bool prop_logic_semantics1 = prop_semantics1 eqLogic prop_logic_semantics2 :: Rule2 Logic -> Logic -> Logic -> Bool prop_logic_semantics2 = prop_semantics2 eqLogic prop_logic_semantics3 :: Rule3 Logic -> Logic -> Logic -> Logic -> Bool prop_logic_semantics3 = prop_semantics3 eqLogic -- Default tests: -- testAll = do mapM_ (quickCheck . prop_logic_semantics1) ruleComplOr' mapM_ (quickCheck . prop_logic_semantics3) ruleAndOverOr' failingTests = do quickCheck (prop_logic_semantics2 buggyRuleCommImp') -- prop_fromTo_Id :: (PFView a, Eq (PF a a)) => PF a a -> Bool -- prop_fromTo_Id e = (from . to) e == e