Daniels Stand von 20081110
[darcs-mirror-polyfix.git] / TestGen.hs
1 -- |This module uses "Test.Quickcheck" to test the PolyFix package by generating randomly 100 different types
2 -- running ExFind with that type and then simplifying the generated free theorem
3 -- to a antilogy of the kind \"_|_ = ()\" or \"_|_ = 0\".
4 module TestGen where
5 import Test.QuickCheck
6 --import ParseType (parseType')
7 import SimpleFT  (freeTheorem)
8 import Expr (specialize)
9 import ExFindExtended (getCompleteRaw, showTerm, showUsedTermCont)
10 --import Language.Haskell.FreeTheorems.Parser.Haskell98 as FTP
11 --import Language.Haskell.FreeTheorems
12 --      ( runChecks
13 --      , check
14 --      , filterSignatures
15 --      , prettyTheorem
16 --      , asTheorem
17 --      , interpret
18 --      , unfoldLifts
19 --      , prettyUnfoldedLift
20 --      , LanguageSubset(BasicSubset)
21 --      )
22 import Term2Expr (term2Expr, termCond2Exprs, insertTermsInCondition)
23
24 import TestItExt
25
26 testrun typ = case getCompleteRaw typ of
27               Left _  -> Left "Error in type."
28               Right p ->  Right (insertTermsInCondition p (specialize (freeTheorem typ)))