yampa-test 0.2 → 0.13.2
raw patch · 4 files changed
+25/−18 lines, 4 filesdep ~Yampa
Dependency ranges changed: Yampa
Files
- CHANGELOG +7/−0
- src/FRP/Yampa/LTLFuture.hs +3/−3
- tests/YampaQC.hs +12/−12
- yampa-test.cabal +3/−3
CHANGELOG view
@@ -1,3 +1,10 @@+2021-09-15 Ivan Perez <ivan.perez@keera.co.uk>+ * yampa-test.cabal: Version bump (0.13.2).++2019-10-15 Ivan Perez <ivan.perez@keera.co.uk>+ * yampa-test.cabal: Version bump (0.2), use tasty for testing.+ * Thanks to @RyanGlScott.+ 2018-10-27 Ivan Perez <ivan.perez@keera.co.uk> * yampa-test.cabal: Version bump (0.1.1). * src/: Fixes bug (#108).
src/FRP/Yampa/LTLFuture.hs view
@@ -25,7 +25,7 @@ -- | Type representing future-time linear temporal logic predicates with until -- and next. data TPred a where- Prop :: SF a Bool -> TPred a+ SP :: SF a Bool -> TPred a And :: TPred a -> TPred a -> TPred a Or :: TPred a -> TPred a -> TPred a Not :: TPred a -> TPred a@@ -39,7 +39,7 @@ -- -- Returns 'True' if the temporal proposition is currently true. evalT :: TPred a -> SignalSampleStream a -> Bool-evalT (Prop sf) = \stream -> firstSample $ fst $ evalSF sf stream+evalT (SP sf) = \stream -> firstSample $ fst $ evalSF sf stream evalT (And t1 t2) = \stream -> evalT t1 stream && evalT t2 stream evalT (Or t1 t2) = \stream -> evalT t1 stream || evalT t2 stream evalT (Not t1) = \stream -> not (evalT t1 stream)@@ -63,7 +63,7 @@ -- | Apply a transformation to the leaves (to the SFs) tPredMap :: (SF a Bool -> SF a Bool) -> TPred a -> TPred a-tPredMap f (Prop sf) = Prop (f sf)+tPredMap f (SP sf) = SP (f sf) tPredMap f (And t1 t2) = And (tPredMap f t1) (tPredMap f t2) tPredMap f (Or t1 t2) = Or (tPredMap f t1) (tPredMap f t2) tPredMap f (Not t1) = Not (tPredMap f t1)
tests/YampaQC.hs view
@@ -108,7 +108,7 @@ -- Yampa's internal test cases -- prop :: SF a b -> (a -> b ->-prop (a,b) = Prop ((identity &&& a) >>^ uncurry b)+prop (a,b) = SP ((identity &&& a) >>^ uncurry b) -- Yampa's Arrow Checks @@ -434,7 +434,7 @@ pred = (\x y -> (x, x + 1) == y) prop_arrow_id_0 =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> pred)+ forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred) where sf1 = arr id >>> integral sf2 = integral pred = arr $ uncurry (==)@@ -443,7 +443,7 @@ myStream = uniDistStream prop_arrow_id_2 =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> pred)+ forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred) where sf1 = integral >>> arr id sf2 = integral pred = arr $ uncurry (==)@@ -452,7 +452,7 @@ myStream = uniDistStream prop_arrow_assoc =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> pred)+ forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> pred) where sf1 = (integral >>> arr (*0.5)) >>> integral sf2 = integral >>> (arr (*0.5) >>> integral) pred = arr $ uncurry (==)@@ -461,7 +461,7 @@ myStream = uniDistStream prop_arrow_arr_comp =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> pred)+ 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 (==))@@ -470,7 +470,7 @@ myStream = uniDistStream prop_arrow_first_3 =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> arr pred)+ 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 (==)@@ -479,7 +479,7 @@ myStream = uniDistStream prop_arrow_first_distrib =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> arr pred)+ 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 (==)@@ -488,7 +488,7 @@ myStream = uniDistStream prop_arrow_first_id_comm =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> arr pred)+ 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 (==)@@ -497,7 +497,7 @@ myStream = uniDistStream prop_arrow_first_nested =- forAll myStream $ evalT $ Always $ Prop ((sf1 &&& sf2) >>> arr pred)+ forAll myStream $ evalT $ Always $ SP ((sf1 &&& sf2) >>> arr pred) where sf1 = (arr (\x -> ((x,x),())) >>> (first (first integral) >>> arr assoc)) sf2 = (arr (\x -> ((x,x),())) >>> (arr assoc >>> first integral)) @@ -508,7 +508,7 @@ prop_switch_t1 = forAll myStream $ evalT $- Always $ Prop ((switch_t1rec 42.0 &&& switch_tr) >>> arr same)+ Always $ SP ((switch_t1rec 42.0 &&& switch_tr) >>> arr same) where myStream :: Gen (SignalSampleStream Double) myStream = fixedDelayStreamWith f 1.0@@ -576,7 +576,7 @@ -- | Compares two SFs, resulting in true if they are always equal prop_always_equal sf1 sf2 =- Always $ Prop ((sf1 &&& sf2) >>> arr sameResult)+ Always $ SP ((sf1 &&& sf2) >>> arr sameResult) where sameResult = uncurry (==) prop_arr_no_change f xs =@@ -584,7 +584,7 @@ -- | Compares two SFs, returning true if they are close enough prop_always_similar margin sf1 sf2 =- Always (Prop ((sf1 &&& sf2) >>> arr similar))+ Always (SP ((sf1 &&& sf2) >>> arr similar)) where similar (x,y) = abs (x-y) <= margin sfMeasureIncrement :: Num b => b -> SF a b -> SF a b
yampa-test.cabal view
@@ -1,8 +1,8 @@ name: yampa-test-version: 0.2+version: 0.13.2 synopsis: Testing library for Yampa. description:- Testing and dbugging library for Yampa.+ Testing and debugging library for Yampa. . It contains: .@@ -34,7 +34,7 @@ FRP.Yampa.Stream FRP.Yampa.QuickCheck build-depends: base >=4 && <5,- Yampa >= 0.12,+ Yampa >= 0.13.2 && < 0.14, QuickCheck, normaldistribution hs-source-dirs: src