diff --git a/src/Hedgehog/Gen.fs b/src/Hedgehog/Gen.fs index c71b780a..36929344 100644 --- a/src/Hedgehog/Gen.fs +++ b/src/Hedgehog/Gen.fs @@ -474,6 +474,10 @@ module Gen = let decimal (range : Range) : Gen = double (Range.map ExtraTopLevelOperators.double range) |> map decimal + /// Generates a random big integer. + let bigint (range : Range) : Gen = + integral range + // // Combinators - Constructed // diff --git a/tests/Hedgehog.Tests/GenTests.fs b/tests/Hedgehog.Tests/GenTests.fs index a62f0824..2a16e1a7 100644 --- a/tests/Hedgehog.Tests/GenTests.fs +++ b/tests/Hedgehog.Tests/GenTests.fs @@ -154,6 +154,13 @@ let genTests = testList "Gen tests" [ |> Property.falseToFailure |> Property.check + fableIgnore "bigint can create linear bounded integer" <| fun _ -> + property { + let! _ = Gen.bigint (Range.linear 0I 100I) + return () + } + |> Property.check + testCase "apply is chainable" <| fun _ -> let _ : Gen = Gen.constant (+)