module Test.Sound.Synthesizer.Storable.Cut (tests) where import qualified Synthesizer.Storable.Cut as CutSt import qualified Synthesizer.Storable.Signal as SigSt import qualified Synthesizer.Plain.Cut as Cut import qualified Synthesizer.Plain.Signal as Sig import qualified Data.EventList.Relative.TimeBody as EventList -- import qualified Algebra.RealRing as RealRing -- import qualified Algebra.Ring as Ring -- import qualified Algebra.Additive as Additive import qualified Number.NonNegative as NonNeg import Test.QuickCheck (quickCheck, ) import Test.Utility (equalList, ) -- import qualified Algebra.Ring as Ring -- import qualified Algebra.Additive as Additive import NumericPrelude.Numeric import NumericPrelude.Base import Prelude () arrange :: NonNeg.Int -> EventList.T NonNeg.Int (Sig.T Int) -> Bool arrange nnChunkSize evs = let chunkSize = SigSt.chunkSize $ 1 + NonNeg.toNumber nnChunkSize sevs = EventList.mapBody (SigSt.fromList chunkSize) evs in equalList $ SigSt.fromList chunkSize (Cut.arrange evs) : CutSt.arrangeAdaptive chunkSize sevs : CutSt.arrangeList chunkSize sevs : CutSt.arrangeEquidist chunkSize sevs : [] tests :: [(String, IO ())] tests = ("arrange", quickCheck arrange) : []