hspec-core-2.7.3: test/Test/Hspec/Core/ShuffleSpec.hs
module Test.Hspec.Core.ShuffleSpec (spec) where
import Prelude ()
import Helper
import qualified Test.Hspec.Core.Shuffle as H
import Data.Array.ST
import Control.Monad.ST
import Data.STRef
import System.Random
spec :: Spec
spec = do
describe "shuffle" $ do
it "shuffles a list" $ do
runST $ do
gen <- newSTRef (mkStdGen 2)
H.shuffle gen [1, 2, 3 :: Int]
`shouldBe` [3, 1, 2]
describe "mkArray" $ do
it "creates an STArray from a list" $ do
runST (H.mkArray [1, 2, 3 :: Int] >>= getElems) `shouldBe` [1, 2, 3]