From 1f32e0a58987e0312b6b0b002556566ec09faf6c Mon Sep 17 00:00:00 2001 From: njlr Date: Tue, 25 Jul 2023 19:40:04 +0100 Subject: [PATCH] Add Gen.bigint --- src/Hedgehog/Gen.fs | 4 ++++ tests/Hedgehog.Tests/GenTests.fs | 7 +++++++ 2 files changed, 11 insertions(+) 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 (+)