mcmc-0.1.3: test/Mcmc/Move/SlideSpec.hs
-- |
-- Module : Mcmc.Move.SlideSpec
-- Description : Unit tests for Mcmc.Move.SlideSpec
-- Copyright : (c) Dominik Schrempf 2020
-- License : GPL-3.0-or-later
--
-- Maintainer : dominik.schrempf@gmail.com
-- Stability : unstable
-- Portability : portable
--
-- Creation date: Tue May 19 12:07:43 2020.
module Mcmc.Move.SlideSpec
( spec,
)
where
import Data.Maybe
import Mcmc.Move
import Mcmc.Move.Slide
import Test.Hspec
import Test.QuickCheck
prop_sym :: Eq b => (a -> a -> b) -> a -> a -> Bool
prop_sym f x y = f x y == f y x
slideSym :: Move Double
slideSym = slide "symmetric" 1 id 0 1.0 False
spec :: Spec
spec =
describe "slide"
$ it "has a symmetric proposal distribution if mean is 0"
$ property
$ prop_sym (fromJust $ mvDensity . mvSimple $ slideSym)