Conjecture.FSharp.Expecto
0.29.0
dotnet add package Conjecture.FSharp.Expecto --version 0.29.0
NuGet\Install-Package Conjecture.FSharp.Expecto -Version 0.29.0
<PackageReference Include="Conjecture.FSharp.Expecto" Version="0.29.0" />
<PackageVersion Include="Conjecture.FSharp.Expecto" Version="0.29.0" />
<PackageReference Include="Conjecture.FSharp.Expecto" />
paket add Conjecture.FSharp.Expecto --version 0.29.0
#r "nuget: Conjecture.FSharp.Expecto, 0.29.0"
#:package Conjecture.FSharp.Expecto@0.29.0
#addin nuget:?package=Conjecture.FSharp.Expecto&version=0.29.0
#tool nuget:?package=Conjecture.FSharp.Expecto&version=0.29.0
Conjecture.FSharp.Expecto
Expecto integration for Conjecture.FSharp. Adds a property test builder that derives a generator via Gen.auto<'a> () and runs the assertion under Conjecture's shrinking engine.
Install
dotnet add package Conjecture.Core
dotnet add package Conjecture.FSharp
dotnet add package Conjecture.FSharp.Expecto
Usage
open Expecto
open Conjecture.FSharp.Expecto
let tests =
testList "list invariants" [
property "reversal is involutive" (fun (xs: int list) ->
List.rev (List.rev xs) = xs)
property "concat preserves length" (fun (a: int list, b: int list) ->
List.length (a @ b) = List.length a + List.length b)
]
[<EntryPoint>]
let main argv =
runTestsWithCLIArgs [] argv tests
The property function accepts any 'a -> bool (false → failure) or 'a -> unit (exception → failure). The argument type drives Gen.auto<'a> (), so any record / DU built from primitives, options, results, lists, sets, sequences, and tuples is covered out of the box.
Pass a ConjectureSettings record with ExportReproductionOnFailure = true to write a runnable .cs repro alongside any failure. See Export reproductions.
API
| Function | Returns | Notes |
|---|---|---|
property name (test : 'a -> bool) |
Test |
Reflection-derived Gen<'a>; false ⇒ failure. |
property name (test : 'a -> unit) |
Test |
Same generator; any exception ⇒ failure. |
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Conjecture.FSharp (>= 0.29.0)
- Expecto (>= 10.2.3)
- FSharp.Core (>= 10.1.203)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.29.0 | 98 | 5/9/2026 |
| 0.28.0 | 99 | 5/9/2026 |
| 0.27.1 | 112 | 4/28/2026 |
| 0.26.0 | 99 | 4/27/2026 |
| 0.25.0 | 103 | 4/27/2026 |
| 0.24.0 | 97 | 4/26/2026 |
| 0.23.0 | 101 | 4/26/2026 |
| 0.22.0 | 103 | 4/26/2026 |
| 0.21.0 | 103 | 4/26/2026 |
| 0.20.0 | 110 | 4/25/2026 |
| 0.19.0 | 102 | 4/25/2026 |
| 0.18.0 | 98 | 4/23/2026 |
| 0.17.0 | 116 | 4/23/2026 |
| 0.16.0 | 110 | 4/22/2026 |
| 0.15.0 | 98 | 4/22/2026 |
| 0.14.0 | 103 | 4/21/2026 |
| 0.13.0 | 106 | 4/19/2026 |
| 0.12.0 | 102 | 4/19/2026 |