module Main where
import qualified DocTest.Main
import qualified Test.Sound.Synthesizer.Plain.Analysis as Analysis
import qualified Test.Sound.Synthesizer.Plain.Control as Control
import qualified Test.Sound.Synthesizer.Plain.Filter as Filter
import qualified Test.Sound.Synthesizer.Plain.Filter.FirstOrder as Filt1
import qualified Test.Sound.Synthesizer.Plain.Interpolation as Interpolation
import qualified Test.Sound.Synthesizer.Basic.NumberTheory as NumberTheory
import qualified Test.Sound.Synthesizer.Basic.ToneModulation as ToneModulation
import qualified Test.Sound.Synthesizer.Plain.ToneModulation as ToneModulationL
import qualified Test.Sound.Synthesizer.Generic.ToneModulation as ToneModulationG
import qualified Test.Sound.Synthesizer.Generic.Permutation as Permutation
import qualified Test.Sound.Synthesizer.Generic.Fourier as Fourier
import qualified Test.Sound.Synthesizer.Generic.FourierInteger as FourierInteger
import qualified Test.Sound.Synthesizer.Generic.Filter as FilterG
import qualified Test.Sound.Synthesizer.Generic.Cut as CutG
import Data.Tuple.HT (mapFst, )
import qualified Test.QuickCheck as QC
import qualified Test.DocTest.Driver as DocTest
prefix :: String -> [(String, QC.Property)] -> [(String, QC.Property)]
prefix msg =
map (mapFst (\str -> msg ++ "." ++ str))
main :: IO ()
main =
DocTest.run $
(DocTest.Main.main >>) $
mapM_ (\(msg,io) -> DocTest.printPrefix (msg++": ") >> DocTest.property io) $
concat $
prefix "Plain.Analysis" Analysis.tests :
prefix "Plain.Control" Control.tests :
prefix "Plain.Filter.FirstOrder" Filt1.tests :
prefix "Plain.Filter" Filter.tests :
prefix "Plain.Interpolation" Interpolation.tests :
prefix "Generic.Cut" CutG.tests :
prefix "Basic.ToneModulation" ToneModulation.tests :
prefix "Plain.ToneModulation" ToneModulationL.tests :
prefix "Generic.ToneModulation" ToneModulationG.tests :
prefix "Generic.Permutation" Permutation.tests :
prefix "Generic.Fourier" Fourier.tests :
prefix "Basic.NumberTheory" NumberTheory.tests :
prefix "Generic.FourierInteger" FourierInteger.tests :
prefix "Generic.Filter" FilterG.tests :
[]