@@ -216,23 +216,6 @@ concurrentFoldrApplication n =
216-- Zip operations
216-- Zip operations
217-------------------------------------------------------------------------------
217-------------------------------------------------------------------------------
220− :: (IsStream t, Applicative (t IO))
221− => ([Int] -> t IO Int)
222− -> ([(Int, Int)] -> [(Int, Int)] -> Bool)
223− -> (t IO (Int, Int) -> SerialT IO (Int, Int))
226−zipApplicative constr eq t (a, b) = withMaxSuccess maxTestCount $
228− stream1 <- run ((S.toList . t) ((,) <$> constr a <*> constr b))
229− stream2 <- run ((S.toList . t) (pure (,) <*> constr a <*> constr b))
230− stream3 <- run ((S.toList . t) (S.zipWith (,) (constr a) (constr b)))
231− let list = getZipList $ (,) <$> ZipList a <*> ZipList b
232− listEquals eq stream1 list
233− listEquals eq stream2 list
234− listEquals eq stream3 list
236zipAsyncMonadic
219zipAsyncMonadic
237 :: IsStream t
220 :: IsStream t
238 => ([Int] -> t IO Int)
221 => ([Int] -> t IO Int)
@@ -302,13 +285,6 @@ main = hspec
302 parallelConcurrentAppOps spec =
285 parallelConcurrentAppOps spec =
303 mapOps spec $ makeConcurrentAppOps parallely <> parallelCommonOps
286 mapOps spec $ makeConcurrentAppOps parallely <> parallelCommonOps
305− let zipSerialOps :: IsStream t
306− => ((ZipSerialM IO a -> t IO a) -> Spec) -> Spec
307− zipSerialOps spec = mapOps spec $ makeOps zipSerially
308−#ifndef COVERAGE_BUILD
309− <> [("rate AvgRate 0.00000001", zipSerially . avgRate 0.00000001)]
310− <> [("maxBuffer (-1)", zipSerially . maxBuffer (-1))]
312 -- Note, the "pure" of applicative Zip streams generates and infinite
288 -- Note, the "pure" of applicative Zip streams generates and infinite
313 -- stream and therefore maxBuffer (-1) must not be used for that case.
289 -- stream and therefore maxBuffer (-1) must not be used for that case.
314 let zipAsyncOps :: IsStream t => ((ZipAsyncM IO a -> t IO a) -> Spec) -> Spec
290 let zipAsyncOps :: IsStream t => ((ZipAsyncM IO a -> t IO a) -> Spec) -> Spec
@@ -338,8 +314,6 @@ main = hspec
338 wAsyncOps $ functorOps folded "wAsyncly folded" sortEq
314 wAsyncOps $ functorOps folded "wAsyncly folded" sortEq
339 parallelOps $ functorOps S.fromFoldable "parallely" sortEq
315 parallelOps $ functorOps S.fromFoldable "parallely" sortEq
340 parallelOps $ functorOps folded "parallely folded" sortEq
316 parallelOps $ functorOps folded "parallely folded" sortEq
341− zipSerialOps $ functorOps S.fromFoldable "zipSerially" (==)
342− zipSerialOps $ functorOps folded "zipSerially folded" (==)
343 zipAsyncOps $ functorOps S.fromFoldable "zipAsyncly" (==)
317 zipAsyncOps $ functorOps S.fromFoldable "zipAsyncly" (==)
344 zipAsyncOps $ functorOps folded "zipAsyncly folded" (==)
318 zipAsyncOps $ functorOps folded "zipAsyncly folded" (==)
@@ -348,7 +322,6 @@ main = hspec
348 asyncOps $ semigroupOps "asyncly" sortEq
322 asyncOps $ semigroupOps "asyncly" sortEq
349 wAsyncOps $ semigroupOps "wAsyncly" sortEq
323 wAsyncOps $ semigroupOps "wAsyncly" sortEq
350 parallelOps $ semigroupOps "parallely" sortEq
324 parallelOps $ semigroupOps "parallely" sortEq
351− zipSerialOps $ semigroupOps "zipSerially" (==)
352 zipAsyncOps $ semigroupOps "zipAsyncly" (==)
325 zipAsyncOps $ semigroupOps "zipAsyncly" (==)
354 describe "Applicative operations" $ do
327 describe "Applicative operations" $ do
@@ -362,8 +335,6 @@ main = hspec
363 -- XXX add tests for indexed/indexedR
336 -- XXX add tests for indexed/indexedR
364 describe "Zip operations" $ do
337 describe "Zip operations" $ do
365− zipSerialOps $ prop "zipSerially applicative" . zipApplicative S.fromFoldable (==)
366− zipSerialOps $ prop "zipSerially applicative folded" . zipApplicative folded (==)
367 zipAsyncOps $ prop "zipAsyncly applicative" . zipApplicative S.fromFoldable (==)
338 zipAsyncOps $ prop "zipAsyncly applicative" . zipApplicative S.fromFoldable (==)
368 zipAsyncOps $ prop "zipAsyncly applicative folded" . zipApplicative folded (==)
339 zipAsyncOps $ prop "zipAsyncly applicative folded" . zipApplicative folded (==)
@@ -447,22 +418,18 @@ main = hspec
447 asyncOps $ transformCombineOpsCommon S.fromFoldable "asyncly" sortEq
418 asyncOps $ transformCombineOpsCommon S.fromFoldable "asyncly" sortEq
448 wAsyncOps $ transformCombineOpsCommon S.fromFoldable "wAsyncly" sortEq
419 wAsyncOps $ transformCombineOpsCommon S.fromFoldable "wAsyncly" sortEq
449 parallelOps $ transformCombineOpsCommon S.fromFoldable "parallely" sortEq
420 parallelOps $ transformCombineOpsCommon S.fromFoldable "parallely" sortEq
450− zipSerialOps $ transformCombineOpsCommon S.fromFoldable "zipSerially" (==)
451 zipAsyncOps $ transformCombineOpsCommon S.fromFoldable "zipAsyncly" (==)
421 zipAsyncOps $ transformCombineOpsCommon S.fromFoldable "zipAsyncly" (==)
453 aheadOps $ transformCombineOpsCommon folded "aheadly" (==)
423 aheadOps $ transformCombineOpsCommon folded "aheadly" (==)
454 asyncOps $ transformCombineOpsCommon folded "asyncly" sortEq
424 asyncOps $ transformCombineOpsCommon folded "asyncly" sortEq
455 wAsyncOps $ transformCombineOpsCommon folded "wAsyncly" sortEq
425 wAsyncOps $ transformCombineOpsCommon folded "wAsyncly" sortEq
456 parallelOps $ transformCombineOpsCommon folded "parallely" sortEq
426 parallelOps $ transformCombineOpsCommon folded "parallely" sortEq
457− zipSerialOps $ transformCombineOpsCommon folded "zipSerially" (==)
458 zipAsyncOps $ transformCombineOpsCommon folded "zipAsyncly" (==)
427 zipAsyncOps $ transformCombineOpsCommon folded "zipAsyncly" (==)
460 aheadOps $ transformCombineOpsOrdered S.fromFoldable "aheadly" (==)
429 aheadOps $ transformCombineOpsOrdered S.fromFoldable "aheadly" (==)
461− zipSerialOps $ transformCombineOpsOrdered S.fromFoldable "zipSerially" (==)
462 zipAsyncOps $ transformCombineOpsOrdered S.fromFoldable "zipAsyncly" (==)
430 zipAsyncOps $ transformCombineOpsOrdered S.fromFoldable "zipAsyncly" (==)
464 aheadOps $ transformCombineOpsOrdered folded "aheadly" (==)
432 aheadOps $ transformCombineOpsOrdered folded "aheadly" (==)
465− zipSerialOps $ transformCombineOpsOrdered folded "zipSerially" (==)
466 zipAsyncOps $ transformCombineOpsOrdered folded "zipAsyncly" (==)
433 zipAsyncOps $ transformCombineOpsOrdered folded "zipAsyncly" (==)
468 describe "Stream elimination operations" $ do
435 describe "Stream elimination operations" $ do
@@ -470,37 +437,31 @@ main = hspec
470 asyncOps $ eliminationOps S.fromFoldable "asyncly"
437 asyncOps $ eliminationOps S.fromFoldable "asyncly"
471 wAsyncOps $ eliminationOps S.fromFoldable "wAsyncly"
438 wAsyncOps $ eliminationOps S.fromFoldable "wAsyncly"
472 parallelOps $ eliminationOps S.fromFoldable "parallely"
439 parallelOps $ eliminationOps S.fromFoldable "parallely"
473− zipSerialOps $ eliminationOps S.fromFoldable "zipSerially"
474 zipAsyncOps $ eliminationOps S.fromFoldable "zipAsyncly"
440 zipAsyncOps $ eliminationOps S.fromFoldable "zipAsyncly"
476 aheadOps $ eliminationOps folded "aheadly folded"
442 aheadOps $ eliminationOps folded "aheadly folded"
477 asyncOps $ eliminationOps folded "asyncly folded"
443 asyncOps $ eliminationOps folded "asyncly folded"
478 wAsyncOps $ eliminationOps folded "wAsyncly folded"
444 wAsyncOps $ eliminationOps folded "wAsyncly folded"
479 parallelOps $ eliminationOps folded "parallely folded"
445 parallelOps $ eliminationOps folded "parallely folded"
480− zipSerialOps $ eliminationOps folded "zipSerially folded"
481 zipAsyncOps $ eliminationOps folded "zipAsyncly folded"
446 zipAsyncOps $ eliminationOps folded "zipAsyncly folded"
483 aheadOps $ eliminationOpsWord8 S.fromFoldable "aheadly"
448 aheadOps $ eliminationOpsWord8 S.fromFoldable "aheadly"
484 asyncOps $ eliminationOpsWord8 S.fromFoldable "asyncly"
449 asyncOps $ eliminationOpsWord8 S.fromFoldable "asyncly"
485 wAsyncOps $ eliminationOpsWord8 S.fromFoldable "wAsyncly"
450 wAsyncOps $ eliminationOpsWord8 S.fromFoldable "wAsyncly"
486 parallelOps $ eliminationOpsWord8 S.fromFoldable "parallely"
451 parallelOps $ eliminationOpsWord8 S.fromFoldable "parallely"
487− zipSerialOps $ eliminationOpsWord8 S.fromFoldable "zipSerially"
488 zipAsyncOps $ eliminationOpsWord8 S.fromFoldable "zipAsyncly"
452 zipAsyncOps $ eliminationOpsWord8 S.fromFoldable "zipAsyncly"
490 aheadOps $ eliminationOpsWord8 folded "aheadly folded"
454 aheadOps $ eliminationOpsWord8 folded "aheadly folded"
491 asyncOps $ eliminationOpsWord8 folded "asyncly folded"
455 asyncOps $ eliminationOpsWord8 folded "asyncly folded"
492 wAsyncOps $ eliminationOpsWord8 folded "wAsyncly folded"
456 wAsyncOps $ eliminationOpsWord8 folded "wAsyncly folded"
493 parallelOps $ eliminationOpsWord8 folded "parallely folded"
457 parallelOps $ eliminationOpsWord8 folded "parallely folded"
494− zipSerialOps $ eliminationOpsWord8 folded "zipSerially folded"
495 zipAsyncOps $ eliminationOpsWord8 folded "zipAsyncly folded"
458 zipAsyncOps $ eliminationOpsWord8 folded "zipAsyncly folded"
497 -- XXX Add a test where we chain all transformation APIs and make sure that
460 -- XXX Add a test where we chain all transformation APIs and make sure that
498 -- the state is being passed through all of them.
461 -- the state is being passed through all of them.
499 describe "Stream serial elimination operations" $ do
462 describe "Stream serial elimination operations" $ do
500 aheadOps $ eliminationOpsOrdered S.fromFoldable "aheadly"
463 aheadOps $ eliminationOpsOrdered S.fromFoldable "aheadly"
501− zipSerialOps $ eliminationOpsOrdered S.fromFoldable "zipSerially"
502 zipAsyncOps $ eliminationOpsOrdered S.fromFoldable "zipAsyncly"
464 zipAsyncOps $ eliminationOpsOrdered S.fromFoldable "zipAsyncly"
504 aheadOps $ eliminationOpsOrdered folded "aheadly folded"
466 aheadOps $ eliminationOpsOrdered folded "aheadly folded"
505− zipSerialOps $ eliminationOpsOrdered folded "zipSerially folded"
506 zipAsyncOps $ eliminationOpsOrdered folded "zipAsyncly folded"
467 zipAsyncOps $ eliminationOpsOrdered folded "zipAsyncly folded"