{-# LANGUAGE OverloadedStrings #-} module Sound.Tidal.ParamsTest where import Test.Microspec import TestUtils import Sound.Tidal.Core import Sound.Tidal.Params import Sound.Tidal.Pattern run :: Microspec () run = describe "Sound.Tidal.Params" $ do describe "VF params" $ do it "should parse fractional ratio" $ do compareP (Arc 0 1) (sound "bd" # delay "e") (sound "bd" # delay (1/8)) it "should parse correctly floating point number" $ do compareP (Arc 0 1) (sound "bd" # delay "0.5") (sound "bd" # delay (1/2)) describe "VN params" $ do it "should parse note value" $ do compareP (Arc 0 1) (sound "bd" # note "e") (sound "bd" # note 4) it "should parse n value" $ do compareP (Arc 0 1) (sound "bd" # n "e") (sound "bd" # n 4) it "should parse correctly floating point number" $ do compareP (Arc 0 1) (sound "bd" # note "0.5") (sound "bd" # note (1/2))