From 7c87d83156f5c7371cf69f273ff0b123370f406d 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 | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/Hedgehog/Gen.fs b/src/Hedgehog/Gen.fs index f525e511..a40eead1 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 acc89127..2c65a030 100644 --- a/tests/Hedgehog.Tests/GenTests.fs +++ b/tests/Hedgehog.Tests/GenTests.fs @@ -137,6 +137,14 @@ 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 true + } + |> Property.falseToFailure + |> Property.check + testCase "apply is chainable" <| fun _ -> let _ : Gen = Gen.constant (+)