align-audio-0.0.0.2: test/Test/Correlate.hs
-- Do not edit! Automatically created with doctest-extract from src/Correlate.hs
{-# LINE 16 "src/Correlate.hs" #-}
module Test.Correlate where
import Correlate
import Test.DocTest.Base
import qualified Test.DocTest.Driver as DocTest
{-# LINE 17 "src/Correlate.hs" #-}
import qualified Test.QuickCheck as QC
import qualified Data.StorableVector.Lazy as SVL
import Data.Monoid ((<>))
test :: DocTest.T ()
test = do
DocTest.printPrefix "Correlate:28: "
{-# LINE 28 "src/Correlate.hs" #-}
DocTest.example(
{-# LINE 28 "src/Correlate.hs" #-}
map ceilingFFTSize [1..40]
)
[ExpectedLine [LineChunk "[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,18,20,20,22,22,24,24,26,26,28,28,30,30,32,32,36,36,36,36,40,40,40,40]"]]
DocTest.printPrefix "Correlate:30: "
{-# LINE 30 "src/Correlate.hs" #-}
DocTest.property(
{-# LINE 30 "src/Correlate.hs" #-}
\n -> n <= ceilingFFTSize n
)
DocTest.printPrefix "Correlate:31: "
{-# LINE 31 "src/Correlate.hs" #-}
DocTest.property(
{-# LINE 31 "src/Correlate.hs" #-}
\(QC.Positive n) -> ceilingFFTSize n * 8 <= n * 9
)
DocTest.printPrefix "Correlate:53: "
{-# LINE 53 "src/Correlate.hs" #-}
DocTest.property(
{-# LINE 53 "src/Correlate.hs" #-}
\(QC.NonNegative preX, QC.NonNegative postX) ->
\(QC.NonNegative preY, QC.NonNegative postY) ->
\(QC.NonEmpty xs) ->
all (0/=) xs QC.==>
preX - preY
QC.===
let v = SVL.pack SVL.defaultChunkSize xs in
let pad n = SVL.replicate SVL.defaultChunkSize n (0::Float) in
determineLag
(pad preX <> v <> pad postX)
(pad preY <> v <> pad postY)
)