combinatorial-0.1.1: test/Test/Combinatorics/Private.hs
-- Do not edit! Automatically created with doctest-extract from src/Combinatorics/Private.hs
{-# LINE 18 "src/Combinatorics/Private.hs" #-}
module Test.Combinatorics.Private where
import qualified Test.DocTest.Driver as DocTest
{-# LINE 19 "src/Combinatorics/Private.hs" #-}
import qualified Combinatorics.Private as CombPriv
import Test.Combinatorics (genPermuteRep, genVariate, genChooseIndex)
import qualified Test.QuickCheck as QC
import Control.Applicative ((<$>))
import Data.List.HT (allEqual)
import Data.Eq.HT (equating)
genChoose :: QC.Gen (Int, Int)
genChoose = do
n <- QC.choose (0,15)
k <- QC.choose (-2,n)
return (n,k)
genTuples :: QC.Gen (Int, [Char])
genTuples = do
xs <- take 16 <$> QC.arbitrary
n <- QC.choose (-1, length xs + 1)
return (n,xs)
test :: DocTest.T ()
test = do
DocTest.printPrefix "Combinatorics.Private:46: "
{-# LINE 46 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 46 "src/Combinatorics/Private.hs" #-}
(QC.forAll (take 6 <$> QC.arbitrary) $ \xs -> CombPriv.permuteRec xs == CombPriv.permuteMSL (xs::[Int]))
DocTest.printPrefix "Combinatorics.Private:67: "
{-# LINE 67 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 67 "src/Combinatorics/Private.hs" #-}
(QC.forAll (genPermuteRep 10) $ \xs -> CombPriv.permuteRep xs == CombPriv.permuteRepM xs)
DocTest.printPrefix "Combinatorics.Private:98: "
{-# LINE 98 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 98 "src/Combinatorics/Private.hs" #-}
(QC.forAll genChoose $ \(n,k) -> allEqual $ CombPriv.chooseRec n k : CombPriv.chooseMSL n k : CombPriv.chooseMSL0 n k : [])
DocTest.printPrefix "Combinatorics.Private:132: "
{-# LINE 132 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 132 "src/Combinatorics/Private.hs" #-}
(QC.forAll (QC.choose (-1,7)) $ \n -> QC.forAll genVariate $ \xs -> CombPriv.variateRep n xs == CombPriv.variateRepM n xs)
DocTest.printPrefix "Combinatorics.Private:143: "
{-# LINE 143 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 143 "src/Combinatorics/Private.hs" #-}
(QC.forAll (QC.choose (-1,7)) $ \n -> QC.forAll genVariate $ \xs -> CombPriv.variateRec n xs == CombPriv.variateMSL n xs)
DocTest.printPrefix "Combinatorics.Private:160: "
{-# LINE 160 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 160 "src/Combinatorics/Private.hs" #-}
(QC.forAll genTuples $ \(n,xs) -> allEqual $ CombPriv.tuplesRec n xs : CombPriv.tuplesRec0 n xs : CombPriv.tuplesMSL n xs : CombPriv.tuplesMSL0 n xs : [])
DocTest.printPrefix "Combinatorics.Private:199: "
{-# LINE 199 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 199 "src/Combinatorics/Private.hs" #-}
(QC.forAll genChooseIndex $ \(n,k,i) -> CombPriv.chooseUnrankRec n k i == CombPriv.chooseUnrankList n k i)
DocTest.printPrefix "Combinatorics.Private:264: "
{-# LINE 264 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 264 "src/Combinatorics/Private.hs" #-}
(allEqual $ map (take 1000) (CombPriv.derangementNumbersPS0 : CombPriv.derangementNumbersPS1 : CombPriv.derangementNumbersInclExcl : [] :: [[Integer]]))
DocTest.printPrefix "Combinatorics.Private:295: "
{-# LINE 295 "src/Combinatorics/Private.hs" #-}
DocTest.property
{-# LINE 295 "src/Combinatorics/Private.hs" #-}
(equating (take 20) CombPriv.surjectiveMappingNumbersPS (CombPriv.surjectiveMappingNumbersStirling :: [[Integer]]))