FsCheck 2.14.0

FsCheck is a tool for testing .NET programs automatically. You provide a specification of the program, in the form of properties which functions, methods or objects should satisfy, and FsCheck then tests that the properties hold in a large number of randomly generated cases. Such properties are actually a testable specification of your program.

Properties are written in F#, C# or VB. FsCheck helps you to define properties, observe the distribution of test data, and define test data generators. Crucially, when a property fails, FsCheck automatically displays a minimal counter example.

There is a newer version of this package available.
See the version list below for details.
Install-Package FsCheck -Version 2.14.0
dotnet add package FsCheck --version 2.14.0
<PackageReference Include="FsCheck" Version="2.14.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FsCheck --version 2.14.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FsCheck, 2.14.0"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

Release Notes

Add shrinker for data transfer objects. (by Carlo Zancanaro)
Add shrinker for Interval type. (by Nazar Vinnichuk)
Add shrinker for flags enums.  (by Nazar Vinnichuk)
Add new Arbitrary instances for Numerics.Complex and ConsoleKeyInfo. (by Nazar Vinnichuk)
Fix float, int32 and int64 generators so their distribution is uniform. This also improves downstream generators. (by Nazar Vinnichuk)
Fix decimal generator so size is respected. (by Nazar Vinnichuk)
Add Gen.scale and ScaleSize extension method which can remove some boilerplate. (by Nazar Vinnichuk)

NuGet packages (18)

Showing the top 5 NuGet packages that depend on FsCheck:

Package Downloads
FsCheck.Xunit
FsCheck.Xunit integrates FsCheck with xUnit.NET by adding a PropertyAttribute that runs FsCheck tests, similar to xUnit.NET's FactAttribute. All the options normally available in vanilla FsCheck via configuration can be controlled via the PropertyAttribute.
FsCheck.Nunit
FsCheck.NUnit integrates FsCheck with NUnit by adding a PropertyAttribute that runs FsCheck tests, similar to NUnit TestAttribute. All the options normally available in vanilla FsCheck via configuration can be controlled via the PropertyAttribute.
Expecto.FsCheck
Property testing for Expecto, powered by FsCheck
AutoFixture.Idioms.FsCheck
Ubiquitous use of AutoFixture for unit testing has given rise to a number of idiomatic unit tests - unit tests that tend to follow common templates. The AutoFixture Idioms.FsCheck library encapsulates these idioms into reusable classes and methods.
MBrace.Tests
A collection of abstract NUnit-based test suites for evaluating MBrace runtime implementations.

GitHub repositories (11)

Showing the top 5 popular GitHub repositories that depend on FsCheck:

Repository Stars
dotnet/runtime
.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
akkadotnet/akka.net
Port of Akka actors for .NET
commandlineparser/commandline
The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support
AutoFixture/AutoFixture
AutoFixture is an open source library for .NET designed to minimize the 'Arrange' phase of your unit tests in order to maximize maintainability. Its primary goal is to allow developers to focus on what is being tested rather than how to setup the test scenario, by making it easier to create object graphs containing test data.
MetacoSA/NBitcoin
Comprehensive Bitcoin library for the .NET framework.

Version History

Version Downloads Last updated
3.0.0-alpha5 805 12/28/2020
3.0.0-alpha4 175,840 10/6/2018
3.0.0-alpha3 72,044 12/30/2017
3.0.0-alpha2 6,879 10/19/2017
3.0.0-alpha1 2,280 9/26/2017
2.15.1 0 2/27/2021
2.15.0 787 2/23/2021
2.14.6 785 2/21/2021
2.14.5 552 2/18/2021
2.14.4 7,380 1/31/2021
2.14.3 274,183 6/9/2020
2.14.2 90,741 3/11/2020
2.14.0 512,452 4/17/2019
2.13.0 216,755 11/11/2018
2.12.1 26,221 10/18/2018
2.12.0 8,664 10/6/2018
2.11.0 131,510 6/15/2018
2.10.10 64,264 5/15/2018
2.10.9 99,888 4/10/2018
2.10.8 67,145 3/3/2018
2.10.7 15,612 1/29/2018
2.10.6 18,344 12/30/2017
2.10.5 9,950 12/28/2017
2.10.4 76,031 11/8/2017
2.10.3 10,456 9/26/2017
2.10.2 10,049 9/25/2017
2.10.1 2,068 9/23/2017
2.10.0 14,500 9/7/2017
2.9.2 9,080 8/28/2017
2.9.1 1,642 8/27/2017
2.9.0 104,349 5/18/2017
2.9.0-rc3 4,605 5/7/2017
2.9.0-rc2 1,368 5/6/2017
2.9.0-rc1 1,340 5/6/2017
2.8.2 7,203 5/6/2017
2.8.1 1,948 5/1/2017
2.8.0 17,099 3/15/2017
2.7.2 9,114 3/5/2017
2.7.1 11,827 2/13/2017
2.7.0 9,256 1/15/2017
2.6.3 1,652 1/13/2017
2.6.2 92,045 10/7/2016
2.6.1 21,432 9/25/2016
2.6.0 39,629 8/3/2016
2.5.0 42,598 6/7/2016
2.4.0 15,148 4/20/2016
2.3.0 3,928 4/11/2016
2.2.5 4,598 3/28/2016
2.2.4 22,197 12/17/2015
2.2.3 4,103 11/26/2015
2.2.2 4,190 11/14/2015
2.2.1 2,274 11/5/2015
2.2.0 14,740 11/1/2015
2.1.0 10,053 9/30/2015
2.0.7 13,417 8/20/2015
2.0.6 2,110 8/14/2015
2.0.5 15,394 7/31/2015
2.0.4 5,706 7/20/2015
2.0.3 29,201 7/10/2015
2.0.2 1,664 7/7/2015
2.0.1 11,367 5/23/2015
2.0.1-rc1 1,442 5/23/2015
2.0.0-alpha 1,492 4/27/2015
1.0.4 18,044 12/9/2014
1.0.3 3,581 11/18/2014
1.0.2 2,434 10/27/2014
1.0.1 3,025 10/18/2014
1.0.0 6,936 8/3/2014
0.9.4 31,321 5/24/2014
0.9.3 2,143 5/9/2014
0.9.2 26,761 11/7/2013
0.9.1 4,549 7/2/2013
0.9.0.1 1,696 6/21/2013
0.9.0 1,752 6/18/2013
0.8.3 2,726 8/26/2012
0.8.2 1,803 7/4/2012
0.8.1 1,964 6/25/2012
0.7.1 2,953 5/29/2011
Show less