arrayfire-0.1.0.0: test/ArrayFire/RandomSpec.hs
{-# LANGUAGE TypeApplications #-}
module ArrayFire.RandomSpec where
import ArrayFire
import Control.Monad
import Test.Hspec
spec :: Spec
spec =
describe "Random engine spec" $ do
it "Should create random engine" $ do
(`shouldBe` Philox)
=<< getRandomEngineType
=<< createRandomEngine 5000 Philox
(`shouldBe` Mersenne)
=<< getRandomEngineType
=<< createRandomEngine 5000 Mersenne
(`shouldBe` ThreeFry)
=<< getRandomEngineType
=<< createRandomEngine 5000 ThreeFry
it "Should set random engine" $ do
r <- createRandomEngine 5000 ThreeFry
setRandomEngine r Philox
(`shouldBe` Philox) =<< getRandomEngineType r
it "Should set and get seed" $ do
setSeed 100
(`shouldBe` 100) =<< getSeed