on master help sign in
Add back the parallel interleaving test
commit4756d823084b587de15fa1040971d9a388287c75 authorHarendra Kumar <harendra.kumar@gmail.com> dateTue 5 Sep 2017, 10:58 (9 years ago) parente2b1e4c
1 file changed+8−6
test/Main.hs+8−6
test/Main.hs+8−6
@@ -32,13 +32,12 @@ main = hspec $ do
3232 describe "Bind" bind
3333
3434 describe "Serial Composition (<>)" $ compose (<>) id
35− describe "Serial interleaved (<=>)" $ interleaved (<=>)
35+ describe "Serial interleaved (<=>)" $ interleaved (<=>) id
3636 describe "Left biased parallel Composition (<|)" $ compose (<|) sort
3737 describe "Fair parallel Composition (<|>)" $ compose (<|>) sort
3838 describe "Left biased parallel time order check" $ parallelCheck (<|)
3939 describe "Fair parallel time order check" $ parallelCheck (<|>)
40− -- This is not predicatable
41− -- describe "Parallel interleaved (<|>)" $ interleaved (<|>)
40+ describe "Parallel interleaved (<|>)" $ interleaved (<|>) reverse
4241
4342 describe "Serial loops (<>)" $ loops (<>) id reverse
4443 describe "Left biased parallel loops (<|)" $ loops (<|) sort sort
@@ -58,11 +57,14 @@ bind = do
5857 toList (do x <- return 1; y <- return 2; return (x + y))
5958 `shouldReturn` ([3] :: [Int])
6059
61−interleaved :: (AsyncT IO Int -> AsyncT IO Int -> AsyncT IO Int) -> Spec
62−interleaved f =
60+interleaved
61+ :: (AsyncT IO Int -> AsyncT IO Int -> AsyncT IO Int)
62+ -> ([Int] -> [Int])
63+ -> Spec
64+interleaved f srt =
6365 it "Interleave four" $
6466 toList ((return 0 <> return 1) `f` (return 100 <> return 101))
65− `shouldReturn` ([0, 100, 1, 101])
67+ `shouldReturn` (srt [0, 100, 1, 101])
6668
6769parallelCheck :: (AsyncT IO Int -> AsyncT IO Int -> AsyncT IO Int) -> Spec
6870parallelCheck f = do