align-audio-0.0.0.2: test/Test/CorrelateResample.hs
-- Do not edit! Automatically created with doctest-extract from src/CorrelateResample.hs
{-# LINE 19 "src/CorrelateResample.hs" #-}
module Test.CorrelateResample where
import CorrelateResample
import qualified Test.DocTest.Driver as DocTest
{-# LINE 20 "src/CorrelateResample.hs" #-}
import qualified Test.QuickCheck as QC
import qualified Data.StorableVector.Lazy as SVL
import Data.Monoid ((<>))
test :: DocTest.T ()
test = do
DocTest.printPrefix "CorrelateResample:64: "
{-# LINE 64 "src/CorrelateResample.hs" #-}
DocTest.property(
{-# LINE 64 "src/CorrelateResample.hs" #-}
QC.forAll (QC.choose (1,1)) $ \rateX ->
QC.forAll (QC.choose (1,1)) $ \rateY ->
\(QC.NonNegative preX, QC.NonNegative postX) ->
\(QC.NonNegative preY, QC.NonNegative postY) ->
\(QC.NonEmpty xs) ->
all (0/=) xs QC.==>
preX - preY
QC.===
let pack rate =
SVL.pack SVL.defaultChunkSize $ concatMap (replicate rate) xs in
let pad rate n = SVL.replicate SVL.defaultChunkSize (rate*n) (0::Float) in
determineLag 1
(fromIntegral rateX, pad rateX preX <> pack rateX <> pad rateX postX)
(fromIntegral rateY, pad rateY preY <> pack rateY <> pad rateY postY)
)