{-# LANGUAGE TemplateHaskell #-} module Test.Hedgehog.Seed ( tests ) where import Data.Foldable (for_) import Hedgehog import qualified Hedgehog.Internal.Seed as Seed data Assert = Assert { expected :: !Seed , actual :: !Seed } deriving (Show) -- | Verify that SplitMix avoids pathological γ-values, as discussed by -- Melissa E. O'Neill in the post with title Bugs in SplitMix(es), at -- http://www.pcg-random.org/posts/bugs-in-splitmix.html -- -- See also: -- https://github.com/hedgehogqa/haskell-hedgehog/issues/191 -- prop_avoid_pathological_gamma_values :: Property prop_avoid_pathological_gamma_values = withTests 1 . property $ do for_ asserts $ \a -> expected a === actual a asserts :: [Assert] asserts = [ Assert (Seed 15210016002011668638 12297829382473034411) (Seed.from 0x61c8864680b583eb) , Assert (Seed 11409286845259996466 12297829382473034411) (Seed.from 0xf8364607e9c949bd) , Assert (Seed 1931727433621677744 12297829382473034411) (Seed.from 0x88e48f4fcc823718) , Assert (Seed 307741759840609752 12297829382473034411) (Seed.from 0x7f83ab8da2e71dd1) , Assert (Seed 8606169619657412120 12297829382473034413) (Seed.from 0x7957d809e827ff4c) , Assert (Seed 13651108307767328632 12297829382473034413) (Seed.from 0xf8d059aee4c53639) , Assert (Seed 125750466559701114 12297829382473034413) (Seed.from 0x9cd9f015db4e58b7) , Assert (Seed 6781260234005250507 12297829382473034413) (Seed.from 0xf4077b0dbebc73c0) , Assert (Seed 15306535823716590088 12297829382473034405) (Seed.from 0x305cb877109d0686) , Assert (Seed 7344074043290227165 12297829382473034405) (Seed.from 0x359e58eeafebd527) , Assert (Seed 9920554987610416076 12297829382473034405) (Seed.from 0xbeb721c511b0da6d) , Assert (Seed 3341781972484278810 12297829382473034405) (Seed.from 0x86466fd0fcc363a6) , Assert (Seed 12360157267739240775 12297829382473034421) (Seed.from 0xefee3e7b93db3075) , Assert (Seed 600595566262245170 12297829382473034421) (Seed.from 0x79629ee76aa83059) , Assert (Seed 1471112649570176389 12297829382473034421) (Seed.from 0x05d507d05e785673) , Assert (Seed 8100917074368564322 12297829382473034421) (Seed.from 0x76442b62dddf926c) ] tests :: IO Bool tests = checkParallel $$(discover)