module Main where 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.Interpolation as Interpolation import qualified Test.Sound.Synthesizer.Plain.Oscillator as Oscillator import qualified Test.Sound.Synthesizer.Plain.Wave as Wave 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.Storable.Cut as Cut import Data.Tuple.HT (mapFst, ) prefix :: String -> [(String, IO ())] -> [(String, IO ())] prefix msg = map (mapFst (\str -> msg ++ "." ++ str)) main :: IO () main = mapM_ (\(msg,io) -> putStr (msg++": ") >> io) $ concat $ prefix "Plain.Analysis" Analysis.tests : prefix "Plain.Control" Control.tests : prefix "Plain.Filter" Filter.tests : prefix "Plain.Interpolation" Interpolation.tests : prefix "Plain.Oscillator" Oscillator.tests : prefix "Plain.Wave" Wave.tests : prefix "Storable.Cut" Cut.tests : prefix "Basic.ToneModulation" ToneModulation.tests : prefix "Plain.ToneModulation" ToneModulationL.tests : prefix "Generic.ToneModulation" ToneModulationG.tests : []