module Test.Sound.Synthesizer.Causal.Analysis (tests) where import qualified Synthesizer.Causal.Analysis as AnaC import qualified Synthesizer.Causal.Process as Causal import qualified Synthesizer.Plain.Analysis as Ana import Control.Arrow ((<<<), ) import qualified Data.List.Match as Match import Test.QuickCheck (quickCheck, ) import NumericPrelude.Numeric import NumericPrelude.Base import Prelude () tests :: [(String, IO ())] tests = ("deltaSigmaModulation", quickCheck $ \xs -> Match.take xs (Ana.deltaSigmaModulation xs) == Causal.apply AnaC.deltaSigmaModulation (xs::[Rational])) : ("deltaSigmaModulationPositive", quickCheck $ \threshold xs -> Match.take xs (Ana.deltaSigmaModulationPositive threshold xs) == Causal.apply (AnaC.deltaSigmaModulationPositive <<< Causal.feedConstFst threshold) (xs::[Rational])) : []