packages feed

ADPfusion-0.4.0.0: tests/properties.hs

-- | Test all properties automatically. We keep the QC2 modules in the main
-- library for now, as this allows for more efficient repl tests.

module Main where

import Test.Framework.Providers.QuickCheck2
import Test.Framework.TH

import qualified ADP.Fusion.QuickCheck.Subword  as QSW
import qualified ADP.Fusion.QuickCheck.Set      as QS
import qualified ADP.Fusion.QuickCheck.Point    as QP
import ADP.Fusion.QuickCheck.Point


{-
grep -o -e "^prop_[[:alnum:]_]*" ADP/Fusion/QuickCheck/Subword.hs | awk '{print $1"QSW", "=", "QSW."$1 }' | uniq
grep -o -e "^prop_[[:alnum:]_]*" ADP/Fusion/QuickCheck/Set.hs | awk '{print $1"QS", "=", "QS."$1 }' | uniq
grep -o -e "^prop_[[:alnum:]_]*" ADP/Fusion/QuickCheck/Point.hs | awk '{print $1"QP", "=", "QP."$1 }' | uniq
-}

-- subwords

prop_sv_OIQSW = QSW.prop_sv_OI
prop_sv_IOQSW = QSW.prop_sv_IO
prop_sv_OIIQSW = QSW.prop_sv_OII
prop_sv_IOIQSW = QSW.prop_sv_IOI
prop_sv_IIOQSW = QSW.prop_sv_IIO
prop_cOcQSW = QSW.prop_cOc
prop_ccOccQSW = QSW.prop_ccOcc
prop_cOcccQSW = QSW.prop_cOccc
prop_cOcIcQSW = QSW.prop_cOcIc
prop_cIcOcQSW = QSW.prop_cIcOc
prop_EpsilonQSW = QSW.prop_Epsilon

-- sets

prop_b_iiQS = QS.prop_b_ii
prop_b_ii_nnQS = QS.prop_b_ii_nn
prop_b_iiiQS = QS.prop_b_iii
prop_b_iii_nnnQS = QS.prop_b_iii_nnn
prop_bii_iQS = QS.prop_bii_i
prop_bii_i_nQS = QS.prop_bii_i_n
prop_bii_eQS = QS.prop_bii_e
prop_bii_ieQS = QS.prop_bii_ie
prop_bii_ie_nQS = QS.prop_bii_ie_n
prop_bii_ieeQS = QS.prop_bii_iee
prop_bii_ieeeQS = QS.prop_bii_ieee
prop_bii_iee_nQS = QS.prop_bii_iee_n
prop_bii_ieee_nQS = QS.prop_bii_ieee_n

-- points

prop_EpsilonQP = QP.prop_Epsilon
prop_O_EpsilonQP = QP.prop_O_Epsilon
prop_ZEpsilonQP = QP.prop_ZEpsilon
prop_O_ZEpsilonQP = QP.prop_O_ZEpsilon
prop_O_ZEpsilonEpsilonQP = QP.prop_O_ZEpsilonEpsilon
prop_O_ItNCQP = QP.prop_O_ItNC
prop_O_ZItNCQP = QP.prop_O_ZItNC
prop_O_2dimIt_NC_CNQP = QP.prop_O_2dimIt_NC_CN
prop_2dimIt_NC_CNQP = QP.prop_2dimIt_NC_CN
prop_TtQP = QP.prop_Tt
prop_CCQP = QP.prop_CC
prop_ItQP = QP.prop_It
prop_O_ItQP = QP.prop_O_It
prop_ZItQP = QP.prop_ZIt
prop_O_ZItQP = QP.prop_O_ZIt
prop_ItCQP = QP.prop_ItC
prop_O_ItCQP = QP.prop_O_ItC
prop_O_ItCCQP = QP.prop_O_ItCC
prop_O_ZItCCQP = QP.prop_O_ZItCC
prop_2dimItCCQP = QP.prop_2dimItCC
prop_O_2dimItCCQP = QP.prop_O_2dimItCC
prop_ManySQP = QP.prop_ManyS
prop_SomeSQP = QP.prop_SomeS
prop_2dim_ManyS_ManySQP = QP.prop_2dim_ManyS_ManyS
prop_2dim_SomeS_SomeSQP = QP.prop_2dim_SomeS_SomeS
prop_Itbl_ManySQP = QP.prop_Itbl_ManyS
prop_Itbl_SomeSQP = QP.prop_Itbl_SomeS
prop_1dim_Itbl_ManySQP = QP.prop_1dim_Itbl_ManyS
prop_1dim_Itbl_SomeSQP = QP.prop_1dim_Itbl_SomeS
prop_2dim_Itbl_ManyS_ManySQP = QP.prop_2dim_Itbl_ManyS_ManyS
prop_2dim_Itbl_SomeS_SomeSQP = QP.prop_2dim_Itbl_SomeS_SomeS



main :: IO ()
main = $(defaultMainGenerator)