Skip to content
SPECIFICTION
Get listed

CsCheck vs QuickCheck

CsCheck

github.com

QuickCheck

hackage.haskell.org

Side by side

FigureCsCheckQuickCheck
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Linux—Yes
Self-hostedYes—
Plans published11
Spec score · Property-Based Testing Tools8.0 (#6)7.3 (#16)
GeneratorsIts composable Gen classes support automatic shrinking without Arb classes.QuickCheck provides combinators for defining test data generators.

Plans

CsCheck

  • CsCheckFree

CsCheck pricing →

QuickCheck

  • QuickCheckFree

QuickCheck pricing →

In their own words

CsCheck

CsCheck is a free C# random testing library inspired by QuickCheck, intended for self-hosted use. Its composable Gen classes shrink generated cases automatically without Arb classes, and a shrunk case includes a seed that can reproduce a failure. The library supports random, model-based, metamorphic, performance, specification, regression, parallel and equality testing. Parallel tests compare outcomes with possible linearizations and support shrinking. Specification checks can enumerate reachable state spaces exhaustively or sample them, and can test whether declared faults are caught. Its Faster function statistically compares methods to assess whether one is faster and can run as a normal test across platforms. Example tests use TUnit, though the project says CsCheck can be used with any testing framework. The project page reports more than 1,000 F# tests using CsCheck in MKL.NET. NuGet lists version 4.9.1 and installation instructions for the .NET CLI and PackageReference. The project notes that generic recursion limits AOT compatibility; its Dbg module is temporary and may change between minor versions.

Visit github.com

QuickCheck

QuickCheck is a free Haskell library for testing program properties against randomly generated cases. Developers write specifications with QuickCheck combinators and can use combinators to define test-data generators and inspect generated-data distributions. It supports stateful testing, reproducible failures and shrinking failing cases. Monadic property testing is provided through the Test.QuickCheck.Monadic module. The package README describes adding QuickCheck to project dependencies for use in tests or a REPL. A companion package, quickcheck-instances, supplies instances for types in Haskell Platform packages, with additional dependencies. QuickCheck is licensed under BSD-3-Clause and lists dependencies including base, containers, random, splitmix, template-haskell and transformers. Hackage reports it tested with GHC versions from 8.10 up to but not including 9.15, as well as Hugs. A make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations. Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package. The listed package plan costs nothing.

Visit hackage.haskell.org