@@ -18,7 +18,7 @@ import Test.QuickCheck.Monadic (monadicIO, assert, run)
1818
1919import qualified Prelude
2020import qualified Streamly.Internal.Data.Fold as F
21−import qualified Streamly.Prelude as S
21+import qualified Streamly.Internal.Data.Stream.IsStream as S
2222import qualified Streamly.Data.Fold as FL
2323
2424import Prelude hiding
@@ -417,6 +417,20 @@ unzip =
417417 let v2 = (6, ["aa", "bb", "cc"])
418418 assert (v1 == v2)
419419
420+many :: Property
421+many =
422+ forAll (listOf (chooseInt (0, 100))) $ \lst ->
423+ forAll (chooseInt (1, 100)) $ \i ->
424+ monadicIO $ do
425+ let strm = S.fromList lst
426+ r1 <- S.fold (F.many (split i) F.toList) strm
427+ r2 <- S.toList $ S.foldMany (split i) strm
428+ assert $ r1 == r2
429+
430+ where
431+
432+ split i = F.take i F.toList
433+
420434main :: IO ()
421435main = hspec $
422436 describe "Fold" $ do
@@ -493,6 +507,6 @@ main = hspec $
493507 prop "unzip" Main.unzip
494508
495509 -- Nesting
496− -- many
510+ prop "many" Main.many
497511 -- concatMap
498512 -- chunksOf