@@ -14,7 +14,7 @@ import Control.Monad ( when, forM_ )
14import Data.Function ( (&) )
14import Data.Function ( (&) )
15import Data.IORef ( newIORef, readIORef, writeIORef, modifyIORef' )
15import Data.IORef ( newIORef, readIORef, writeIORef, modifyIORef' )
16import Data.Int (Int64)
16import Data.Int (Int64)
17−import Data.List (group, intercalate)
17+import Data.List (sort, group, intercalate)
18import Data.Maybe ( isJust, fromJust )
18import Data.Maybe ( isJust, fromJust )
19import Foreign.Storable (Storable)
19import Foreign.Storable (Storable)
20#if __GLASGOW_HASKELL__ < 808
20#if __GLASGOW_HASKELL__ < 808
@@ -502,6 +502,12 @@ foldIterateM =
502 Nothing -> assert $ s1 == 0
502 Nothing -> assert $ s1 == 0
503 Just s2 -> assert $ s1 == s2
503 Just s2 -> assert $ s1 == s2
506+sortBy = forAll (listOf (chooseInt (0, max_length))) $ \lst -> monadicIO $ do
508+ s2 <- S.toList $ IS.sortBy compare $ S.fromList lst
505moduleName :: String
511moduleName :: String
506moduleName = "Prelude.Serial"
512moduleName = "Prelude.Serial"
@@ -693,3 +699,4 @@ main = hspec
694 describe "Nesting" $ do
700 describe "Nesting" $ do
695 prop "foldIterateM" foldIterateM
701 prop "foldIterateM" foldIterateM
702+ prop "sortBy" sortBy