packages feed

yampa-test 0.14.7 → 0.14.8

raw patch · 10 files changed

+217/−176 lines, 10 filesdep ~YampaPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: Yampa

API changes (from Hackage documentation)

Files

CHANGELOG view
@@ -1,3 +1,8 @@+2024-04-07 Ivan Perez <ivan.perez@keera.co.uk>+    * Version bump (0.14.8) (#294).+    * Move definitions to separate line (#292).+    * Remove vertical space (#293).+ 2024-02-09 Ivan Perez <ivan.perez@keera.co.uk>     * Version bump (0.14.7) (#289). 
tests/Test/FRP/Yampa/Basic.hs view
@@ -55,15 +55,17 @@ -- Yampa's Basic SF builders prop_basic_identity_1 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream-        sf   = identity-        pred = (==)+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream+    sf   = identity+    pred = (==)  prop_basic_identity_2 =     forAll myStream (evalT $ prop_always_equal identity (arr id))-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream  -- ** constant @@ -77,11 +79,12 @@  prop_basic_constant =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sf   = constant 42.0-        pred = const (== 42.0)+    sf   = constant 42.0+    pred = const (== 42.0)  -- * Initialization @@ -265,11 +268,12 @@  prop_basic_initially =     forAll myStream $ evalT $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sf   = initially 42.0-        pred = const (== 42.0)+    sf   = initially 42.0+    pred = const (== 42.0)  -- * Auxiliary @@ -279,4 +283,5 @@ -- | Compares two SFs, resulting in true if they are always equal prop_always_equal sf1 sf2 =     Always $ SP ((sf1 &&& sf2) >>> arr sameResult)-  where sameResult = uncurry (==)+  where+    sameResult = uncurry (==)
tests/Test/FRP/Yampa/Delays.hs view
@@ -315,11 +315,12 @@ -- | Delaying by 0.0 has no effect prop_delay_1 =     forAll myStream $ evalT $ prop_always_equal sfDelayed sf-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sfDelayed = delay 0.0 undefined >>> sf-        sf = arr (+1)+    sfDelayed = delay 0.0 undefined >>> sf+    sf = arr (+1)  -- | Delaying input signal by a small amount will fill in the "blank" signal --   with the given value, which will become also the sample at the initial@@ -327,12 +328,13 @@ prop_delay_2 =     forAll myStream $ evalT $       (prop (sfDelayed, (\x y -> y == initialValue)))-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sfDelayed = delay 0.0001 initialValue+    sfDelayed = delay 0.0001 initialValue -        initialValue = 17+    initialValue = 17  -- * Auxiliary @@ -342,4 +344,5 @@ -- | Compares two SFs, resulting in true if they are always equal prop_always_equal sf1 sf2 =     Always $ SP ((sf1 &&& sf2) >>> arr sameResult)-  where sameResult = uncurry (==)+  where+    sameResult = uncurry (==)
tests/Test/FRP/Yampa/EventS.hs view
@@ -102,10 +102,11 @@ prop_event_noevent =     forAll myStream $ evalT $ Always $ prop (sfNever, const (== noEvent)) -  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream-        sfNever :: SF Float (Event Float)-        sfNever = never+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream+    sfNever :: SF Float (Event Float)+    sfNever = never  evsrc_t1 :: [Event Int] evsrc_t1 = testSF1 (now 42)@@ -127,13 +128,14 @@       And (prop (sf, p0))                 -- Initially           (Next $ Always $ prop (sf, pn)) -- After first sample -  where sf = Yampa.now 42.0+  where+    sf = Yampa.now 42.0 -        p0 x y = y == Event 42.0-        pn x y = y == noEvent+    p0 x y = y == Event 42.0+    pn x y = y == noEvent -        myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream  evsrc_t2 :: [Event Int] evsrc_t2 = testSF1 (after 0.0 42)@@ -154,13 +156,14 @@       And (prop (sf, p0))                 -- Initially           (Next $ Always $ prop (sf, pn)) -- After first sample -  where sf = after 0.0 42.0+  where+    sf = after 0.0 42.0 -        p0 x y = y == Event 42.0-        pn x y = y == noEvent+    p0 x y = y == Event 42.0+    pn x y = y == noEvent -        myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream  evsrc_t3 :: [Event Int] evsrc_t3 = testSF1 (after 3.0 42)
tests/Test/FRP/Yampa/Integration.hs view
@@ -237,15 +237,16 @@     forAll myStream $ evalT $       Next $ Always $ prop ((sfDer &&& sfDerByHand), const close) -  where myStream :: Gen (SignalSampleStream Double)-        myStream = fixedDelayStreamWith (\t -> sin(2 * pi * t)) der_step+  where+    myStream :: Gen (SignalSampleStream Double)+    myStream = fixedDelayStreamWith (\t -> sin(2 * pi * t)) der_step -        sfDer :: SF Time Time-        sfDer = derivative+    sfDer :: SF Time Time+    sfDer = derivative -        sfDerByHand = localTime >>> arr (\t -> (2 * pi * cos (2 * pi * t)))+    sfDerByHand = localTime >>> arr (\t -> (2 * pi * cos (2 * pi * t))) -        close (x,y) = abs (x-y) < 0.05+    close (x,y) = abs (x-y) < 0.05  prop_derivative_2 =     forAll myStream $ evalT $
tests/Test/FRP/Yampa/InternalCore.hs view
@@ -110,18 +110,20 @@  prop_arrow_1 = forAll myStream $ evalT $     Always $ prop (arr id, \x y -> x == y)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream  -- C1: Arr naturality (testSF1 (arr (+1))) prop_arr_naturality =     forAll myStream $ \stream ->       forAll f $ \f' ->         evalT (Always (prop (arr (apply f'), \x y -> apply f' x == y)))-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream-        f :: Gen (Fun Int Int)-        f = arbitrary+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream+    f :: Gen (Fun Int Int)+    f = arbitrary  comp_t0 = testSF1 ((arr (+1)) >>> (arr (+2))) comp_t0r :: [Double]@@ -170,31 +172,34 @@ -- Arrow composition (we use Int to avoid floating-point discrepancies) prop_arrow_comp_1 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Int)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Int)+    myStream = uniDistStream -        sf   = arr (+1) >>> arr (+2)-        pred = (\x y -> x + 3 == y)+    sf   = arr (+1) >>> arr (+2)+    pred = (\x y -> x + 3 == y)  -- Arrow composition prop_arrow_comp_2 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sf   = constant 5.0 >>> arr (+1)-        pred = const (== 6.0)+    sf   = constant 5.0 >>> arr (+1)+    pred = const (== 6.0)  -- Arrow composition prop_arrow_comp_3 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = fixedDelayStream 0.25+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = fixedDelayStream 0.25 -        sf :: SF a Float-        sf = constant 2.0 >>> integral >>> stepDiff (-0.5)+    sf :: SF a Float+    sf = constant 2.0 >>> integral >>> stepDiff (-0.5) -        pred = const (== 0.5)+    pred = const (== 0.5)  first_t0 :: [(Int,Double)] first_t0 = testSF1 (arr dup >>> first (constant 7))@@ -260,19 +265,21 @@  prop_arrow_first_1 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Int)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Int)+    myStream = uniDistStream -        sf   = arr dup >>> first (constant 7)-        pred = (\x y -> (7 :: Int, x) == y)+    sf   = arr dup >>> first (constant 7)+    pred = (\x y -> (7 :: Int, x) == y)  prop_arrow_first_2 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Int)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Int)+    myStream = uniDistStream -        sf   = arr dup >>> first (arr (+1))-        pred = (\x y -> (x + 1, x) == y)+    sf   = arr dup >>> first (arr (+1))+    pred = (\x y -> (x + 1, x) == y)  -- Test cases for second -- These should mirror the test cases for first.@@ -297,19 +304,21 @@  prop_arrow_second_1 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Int)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Int)+    myStream = uniDistStream -        sf   = arr dup >>> second (constant 7)-        pred = (\x y -> (x, 7 :: Int) == y)+    sf   = arr dup >>> second (constant 7)+    pred = (\x y -> (x, 7 :: Int) == y)  prop_arrow_second_2 =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Int)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Int)+    myStream = uniDistStream -        sf   = arr dup >>> second (arr (+1))-        pred = (\x y -> (x, x + 1) == y)+    sf   = arr dup >>> second (arr (+1))+    pred = (\x y -> (x, x + 1) == y)  -- For a description of the laws, see e.g. Ross Paterson: Embedding a Class of -- Domain-Specific Languages in a Functional Language.@@ -324,12 +333,13 @@  prop_arrow_id_0 =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred)-  where sf1 = arr id >>> integral-        sf2 = integral-        pred = arr $ uncurry (==)+  where+    sf1 = arr id >>> integral+    sf2 = integral+    pred = arr $ uncurry (==) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  laws_t1_lhs :: [Double] laws_t1_lhs = testSF1 (integral >>> arr id)@@ -338,12 +348,13 @@  prop_arrow_id_2 =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred)-  where sf1 = integral >>> arr id-        sf2 = integral-        pred = arr $ uncurry (==)+  where+    sf1 = integral >>> arr id+    sf2 = integral+    pred = arr $ uncurry (==) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  laws_t2_lhs :: [Double] laws_t2_lhs = testSF1 ((integral >>> arr (*0.5)) >>> integral)@@ -352,12 +363,13 @@  prop_arrow_assoc =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred)-  where sf1 = (integral >>> arr (*0.5)) >>> integral-        sf2 = integral >>> (arr (*0.5) >>> integral)-        pred = arr $ uncurry (==)+  where+    sf1 = (integral >>> arr (*0.5)) >>> integral+    sf2 = integral >>> (arr (*0.5) >>> integral)+    pred = arr $ uncurry (==) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  laws_t3_lhs :: [Double] laws_t3_lhs = testSF1 (arr ((*2.5) . (+3.0)))@@ -366,21 +378,23 @@  prop_arrow_arr_comp =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred)-  where sf1 = (arr ((*2.5) . (+3.0)))-        sf2 = (arr (+3.0) >>> arr (*2.5))-        pred = arr (uncurry (==))+  where+    sf1 = (arr ((*2.5) . (+3.0)))+    sf2 = (arr (+3.0) >>> arr (*2.5))+    pred = arr (uncurry (==)) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  prop_arrow_2 = forAll myStream $ evalT $     Always $ prop (sf1 &&& sf2, const $ uncurry (==))-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream-        sf1 = arr (f >>> g)-        sf2 = arr f >>> arr g-        f = (+5)-        g = (/20)+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream+    sf1 = arr (f >>> g)+    sf2 = arr f >>> arr g+    f = (+5)+    g = (/20)  prop_arrow_2' =     forAll f $ \f' ->@@ -388,17 +402,19 @@         forAll myStream $ evalT $           prop_arrow_2'' (apply f') (apply g') -  where myStream :: Gen (SignalSampleStream Int)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Int)+    myStream = uniDistStream -        f, g :: Gen (Fun Int Int)-        f = arbitrary-        g = arbitrary+    f, g :: Gen (Fun Int Int)+    f = arbitrary+    g = arbitrary  prop_arrow_2'' f g =     Always $ prop (sf1 &&& sf2, const $ uncurry (==))-  where sf1 = arr (f >>> g)-        sf2 = arr f >>> arr g+  where+    sf1 = arr (f >>> g)+    sf2 = arr f >>> arr g  laws_t4_lhs :: [(Double, Double)] laws_t4_lhs = testSF1 (arr dup >>> first (arr (*2.5)))@@ -407,12 +423,13 @@  prop_arrow_first_3 =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> arr pred)-  where sf1 = (arr dup >>> first (arr (*2.5)))-        sf2 = (arr dup >>> arr (fun_prod (*2.5) id))-        pred = uncurry (==)+  where+    sf1 = (arr dup >>> first (arr (*2.5)))+    sf2 = (arr dup >>> arr (fun_prod (*2.5) id))+    pred = uncurry (==) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  laws_t5_lhs :: [(Double, Double)] laws_t5_lhs = testSF1 (arr dup >>> (first (integral >>> arr (+3.0))))@@ -421,12 +438,13 @@  prop_arrow_first_distrib =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> arr pred)-  where sf1 = (arr dup >>> (first (integral >>> arr (+3.0))))-        sf2 = (arr dup >>> (first integral >>> first (arr (+3.0))))-        pred = uncurry (==)+  where+    sf1 = (arr dup >>> (first (integral >>> arr (+3.0))))+    sf2 = (arr dup >>> (first integral >>> first (arr (+3.0))))+    pred = uncurry (==) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  laws_t6_lhs :: [(Double, Double)] laws_t6_lhs = testSF1 (arr dup >>> (first integral >>> arr (id *** (+3.0))))@@ -435,12 +453,13 @@  prop_arrow_first_id_comm =     forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> arr pred)-  where sf1 = (arr dup >>> (first integral>>>arr (fun_prod id (+3.0))))-        sf2 = (arr dup >>> (arr (fun_prod id (+3.0))>>>first integral))-        pred = uncurry (==)+  where+    sf1 = (arr dup >>> (first integral>>>arr (fun_prod id (+3.0))))+    sf2 = (arr dup >>> (arr (fun_prod id (+3.0))>>>first integral))+    pred = uncurry (==) -        myStream :: Gen (SignalSampleStream Double)-        myStream = uniDistStream+    myStream :: Gen (SignalSampleStream Double)+    myStream = uniDistStream  laws_t7_lhs :: [Double] laws_t7_lhs = testSF1 (arr dup >>> (first integral >>> arr fst))
tests/Test/FRP/Yampa/Switches.hs view
@@ -173,21 +173,22 @@     forAll myStream $ evalT $       Always $ SP ((switch_t1rec 42.0 &&& switch_tr) >>> arr same) -  where myStream :: Gen (SignalSampleStream Double)-        myStream = fixedDelayStreamWith f 1.0-        f dt = l!!(floor dt)-        l = [ 1.0, 1.0, 1.0-            , 2.0-            , 3.0, 3.0-            , 4.0, 4.0, 4.0-            , 5.0-            , 6.0, 6.0-            , 7.0, 7.0, 7.0-            , 8.0-            ]-             ++ repeat 9.0+  where+    myStream :: Gen (SignalSampleStream Double)+    myStream = fixedDelayStreamWith f 1.0+    f dt = l!!(floor dt)+    l = [ 1.0, 1.0, 1.0+        , 2.0+        , 3.0, 3.0+        , 4.0, 4.0, 4.0+        , 5.0+        , 6.0, 6.0+        , 7.0, 7.0, 7.0+        , 8.0+        ]+         ++ repeat 9.0 -        same = (uncurry (==))+    same = (uncurry (==))  switch_tr :: SF Double (Double, Double, Double) switch_tr = proc (a) -> do@@ -524,11 +525,12 @@ -- TODO: Add integral to the list of SFs being tested prop_broadcast =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sf   = parB [identity, (arr (+1))]-        pred = (\x [y,z] -> x == y && (x + 1) == z)+    sf   = parB [identity, (arr (+1))]+    pred = (\x [y,z] -> x == y && (x + 1) == z)  pswitch_inp1 = deltaEncode 0.1 [0.0, 0.5 ..] 
tests/Test/FRP/Yampa/Task.hs view
@@ -4,7 +4,6 @@ -- Copyright   : (c) Antony Courtney and Henrik Nilsson, Yale University, 2003-2004 -- Authors     : Antony Courtney, Henrik Nilsson -- Very rudimentary testing of Task.- module Test.FRP.Yampa.Task     ( tests )   where
tests/Test/FRP/Yampa/Time.hs view
@@ -39,17 +39,18 @@  prop_basic_localtime_increasing =     forAll myStream $ evalT $ Always $ prop (sf, const (uncurry (>)))-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sf   :: SF a (Time, Time)-        sf   = loopPre (-1 :: Time) sfI+    sf   :: SF a (Time, Time)+    sf   = loopPre (-1 :: Time) sfI -        sfI :: SF (a,Time) ((Time, Time), Time)-        sfI =  (localTime *** identity) >>> arr resort+    sfI :: SF (a,Time) ((Time, Time), Time)+    sfI =  (localTime *** identity) >>> arr resort -        resort :: (Time, Time) -> ((Time,Time),Time)-        resort (newT, oldT) = ((newT, oldT), newT)+    resort :: (Time, Time) -> ((Time,Time),Time)+    resort (newT, oldT) = ((newT, oldT), newT)  basicsf_t3 :: [Double] basicsf_t3 = testSF1 time@@ -66,44 +67,47 @@ --   greater than the acc. prop_basic_time_increasing =     forAll myStream $ evalT $ Always $ prop (sf, pred)-  where myStream :: Gen (SignalSampleStream Float)-        myStream = uniDistStream+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = uniDistStream -        sf   :: SF a (Time, Time)-        sf   = loopPre (-1 :: Time) sfI+    sf   :: SF a (Time, Time)+    sf   = loopPre (-1 :: Time) sfI -        sfI :: SF (a,Time) ((Time, Time), Time)-        sfI =  (time *** identity) >>> arr resort+    sfI :: SF (a,Time) ((Time, Time), Time)+    sfI =  (time *** identity) >>> arr resort -        resort :: (Time, Time) -> ((Time,Time),Time)-        resort (newT, oldT) = ((newT, oldT), newT)+    resort :: (Time, Time) -> ((Time,Time),Time)+    resort (newT, oldT) = ((newT, oldT), newT) -        pred :: a -> (Time, Time) -> Bool-        pred _ (t,o) = (t > o)+    pred :: a -> (Time, Time) -> Bool+    pred _ (t,o) = (t > o)  prop_basic_time_fixed_delay =     forAll myStream $ evalT $       Always (prop (sf25msec, const (== d))) -  where myStream :: Gen (SignalSampleStream Float)-        myStream = fixedDelayStream d+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = fixedDelayStream d -        sf25msec = time >>> stepDiff (-d)+    sf25msec = time >>> stepDiff (-d) -        d :: Time-        d = 0.25+    d :: Time+    d = 0.25  prop_basic_localtime_fixed_delay =     forAll myStream $ evalT $       Always (prop (sf25msec, const (== d))) -  where myStream :: Gen (SignalSampleStream Float)-        myStream = fixedDelayStream d+  where+    myStream :: Gen (SignalSampleStream Float)+    myStream = fixedDelayStream d -        sf25msec = time >>> stepDiff (-d)+    sf25msec = time >>> stepDiff (-d) -        d :: Time-        d = 0.25+    d :: Time+    d = 0.25  -- * Auxiliary 
yampa-test.cabal view
@@ -31,7 +31,7 @@ build-type:    Simple  name:          yampa-test-version:       0.14.7+version:       0.14.8 author:        Ivan Perez maintainer:    ivan.perez@keera.co.uk homepage:      http://github.com/ivanperez-keera/Yampa@@ -84,7 +84,7 @@       base               >= 4       && < 5     , normaldistribution >= 1.1.0.1 && < 1.2     , QuickCheck         >= 2.12    && < 2.15-    , Yampa              >= 0.14.7  && < 0.15+    , Yampa              >= 0.14.8  && < 0.15    default-language:     Haskell2010