packages feed

synthesizer-core-0.2: src/Test/Main.hs

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 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 "Basic.ToneModulation" ToneModulation.tests :
      prefix "Plain.ToneModulation" ToneModulationL.tests :
      prefix "Generic.ToneModulation" ToneModulationG.tests :
      []