module Hedgehog.Golden.Sample ( genSamples ) where import Prelude import Data.Sequence (Seq) import Hedgehog import qualified Hedgehog.Internal.Gen as Gen import qualified Hedgehog.Internal.Tree as Tree import qualified Hedgehog.Range as Range -- | Generate a fixed Seq of @a@ from the given gnerator genSamples :: Seed -> Gen a -> Seq a genSamples seed gen = let loop n = \case Just tree -> Tree.treeValue tree Nothing -> if n < 0 then error "Too many discards - abandoned generating samples" else loop (n - 1) . Gen.evalGen 0 seed $ Gen.seq (Range.singleton 10) gen in loop (100 :: Int) Nothing