packages feed

RNAFold-1.99.1.0: BioInf/RNAfold/QuickCheck.hs

module BioInf.RNAfold.QuickCheck where

import Test.QuickCheck
import Test.QuickCheck.All

import ADP.Fusion.QuickCheck.Arbitrary -- hiding (options,customCheck,allProps)



-- * property checking

fCombined (i,j) = S.toList $ (,,) F.<<< fRegion #~~ fRegion ~~# fRegion F.... id $ Z:.i:.j

bCombined (i,j) = [ ( (i,k),(k,l),(l,j) )
                  | k <- [i..j]
                  , l <- [k..j]
                  , k-i >= 3
                  , j-l >= 3
                  , (k-i) + (j-l) >= 8
                  , (k-i) + (j-l) <= 32
                  ]

prop_Combined (Small i, Small j) = fCombined (i,j) == bCombined (i,j)

options = stdArgs {maxSuccess = 1000}

customCheck = quickCheckWithResult options

allProps = $forAllProperties customCheck