FsCheck 2.10.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.10.0
dotnet add package FsCheck --version 2.10.0
<PackageReference Include="FsCheck" Version="2.10.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FsCheck --version 2.10.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Update FsCheck.NUnit to work with NUnit 3.8.1. FsCheck.NUnit is not backwards compatible with earlier NUnit versions because NUnit changed the name of a few methods in their extension API.
Gen.listOf and Gen.arrayOf now divide the size among the element generators, to avoid exponential explosion of size when high-dimensional types like `int list list list` are generated. This is the approach advocated in https://gupea.ub.gu.se/handle/2077/22087. The effect on list and array generators is as follows, quoting from that text: This adjustment of the list generator impacts the distribution in several ways. Most apparently it inverts the correlation between the length of the list and the size of the elements, long lists will tend to have small elements instead of large. Short lists with small elements will be generated whenever n is low. Short lists with large elements will occur when n is large and a small k is chosen. If a large k is chosen instead, long list with small elements will be generated. The only way to generate long lists with large elements is if n is very large, which is natural given that the purpose of the modified algorithm is to reduce the size of test data.
Add Gen.piles generator, which generates a list of random elements that add up to a given sum.

Showing the top 10 GitHub repositories that depend on FsCheck:

Repository Stars
akkadotnet/akka.net
Port of Akka actors for .NET
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.
commandlineparser/commandline
The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support
MetacoSA/NBitcoin
Comprehensive Bitcoin library for the .NET framework.
NeutroniumCore/Neutronium
🚀 Build .NET desktop applications using HTML, CSS and javascript.
helios-io/helios
reactive socket middleware for .NET
SonarSource/sonar-dotnet
Code analyzer for C# and VB.NET projects https://redirect.sonarsource.com/plugins/vbnet.html
la-yumba/functional-csharp-code
Code samples for Functional Programming in C#
viciousviper/DokanCloudFS
A virtual filesystem for various publicly accessible Cloud storage services on the Microsoft Windows platform.
exercism/csharp
Exercism exercises in C#.

Version History

Version Downloads Last updated
3.0.0-alpha4 30,747 10/6/2018
3.0.0-alpha3 57,237 12/30/2017
3.0.0-alpha2 5,596 10/19/2017
3.0.0-alpha1 799 9/26/2017
2.14.0 41,892 4/17/2019
2.13.0 103,260 11/11/2018
2.12.1 13,451 10/18/2018
2.12.0 5,888 10/6/2018
2.11.0 66,479 6/15/2018
2.10.10 55,683 5/15/2018
2.10.9 37,529 4/10/2018
2.10.8 57,697 3/3/2018
2.10.7 13,087 1/29/2018
2.10.6 11,246 12/30/2017
2.10.5 5,387 12/28/2017
2.10.4 55,135 11/8/2017
2.10.3 8,866 9/26/2017
2.10.2 8,835 9/25/2017
2.10.1 840 9/23/2017
2.10.0 13,168 9/7/2017
2.9.2 7,504 8/28/2017
2.9.1 400 8/27/2017
2.9.0 76,695 5/18/2017
2.9.0-rc3 3,405 5/7/2017
2.9.0-rc2 256 5/6/2017
2.9.0-rc1 235 5/6/2017
2.8.2 5,654 5/6/2017
2.8.1 744 5/1/2017
2.8.0 15,177 3/15/2017
2.7.2 6,372 3/5/2017
2.7.1 9,045 2/13/2017
2.7.0 7,908 1/15/2017
2.6.3 430 1/13/2017
2.6.2 85,615 10/7/2016
2.6.1 4,491 9/25/2016
2.6.0 36,153 8/3/2016
2.5.0 34,267 6/7/2016
2.4.0 11,630 4/20/2016
2.3.0 2,541 4/11/2016
2.2.5 3,312 3/28/2016
2.2.4 19,435 12/17/2015
2.2.3 2,916 11/26/2015
2.2.2 2,892 11/14/2015
2.2.1 1,059 11/5/2015
2.2.0 7,804 11/1/2015
2.1.0 8,421 9/30/2015
2.0.7 12,153 8/20/2015
2.0.6 720 8/14/2015
2.0.5 9,457 7/31/2015
2.0.4 3,421 7/20/2015
2.0.3 27,863 7/10/2015
2.0.2 442 7/7/2015
2.0.1 7,176 5/23/2015
2.0.1-rc1 330 5/23/2015
2.0.0-alpha 381 4/27/2015
1.0.4 15,725 12/9/2014
1.0.3 2,368 11/18/2014
1.0.2 1,195 10/27/2014
1.0.1 1,833 10/18/2014
1.0.0 4,576 8/3/2014
0.9.4 24,934 5/24/2014
0.9.3 1,007 5/9/2014
0.9.2 20,439 11/7/2013
0.9.1 3,385 7/2/2013
0.9.0.1 515 6/21/2013
0.9.0 586 6/18/2013
0.8.3 1,475 8/26/2012
0.8.2 620 7/4/2012
0.8.1 673 6/25/2012
0.7.1 1,146 5/29/2011
Show less