on ea224a4 help sign in
42 lines 1.1 kB history raw
1module Streamly.Test.Data.Array.Unboxed.Mut (main) where
3import Test.QuickCheck (listOf)
5import Streamly.Test.Common (chooseInt)
6import Test.Hspec (hspec, describe)
7import Test.Hspec.QuickCheck
8import Test.QuickCheck (forAll, Property)
9import Test.QuickCheck.Monadic (monadicIO, assert)
11import qualified Streamly.Internal.Data.Array.Unboxed.Mut as MArray
12import qualified Streamly.Internal.Data.Stream as Stream
13import qualified Test.Hspec as Hspec
15maxTestCount :: Int
16maxTestCount = 100
18moduleName :: String
19moduleName = "Data.Array.Unboxed.Mut"
21testAppend :: Property
22testAppend =
23 forAll (listOf (chooseInt (-50, 100))) $ \ls0 ->
24 monadicIO $ action ls0
26 where
28 action ls = do
29 x <- Stream.fold
30 (MArray.append (MArray.newArray 0))
31 (Stream.fromList (ls::[Int]))
32 lst <- MArray.toList x
33 assert (ls == lst)
35main :: IO ()
36main =
37 hspec $
38 Hspec.parallel $
39 modifyMaxSuccess (const maxTestCount) $ do
40 describe moduleName $ do
41 describe "Stream Append" $ do
42 prop "testAppend" testAppend