quickcheck-dynamic: A library to implement stateful property-based testing using dynamic logic.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Please see the README on GitHub at https://github.com/input-output-hk/quickcheck-dynamic#readme


[Skip to Readme]

Properties

Versions 0.1.0, 1.0.0, 1.1.0, 2.0.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0, 3.1.1, 3.2.0, 3.3.0, 3.3.1, 3.4.0, 3.4.1
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), QuickCheck, random [details]
License Apache-2.0[multiple license files]
Author Ulf Norell
Maintainer arnaud.bailly@iohk.io
Category Testing
Home page https://github.com/input-output-hk/quickcheck-dynamic#readme
Bug tracker https://github.com/input-output-hk/quickcheck-dynamic/issues
Source repo head: git clone https://github.com/input-output-hk/quickcheck-dynamic
Uploaded by abaillyiohk at 2022-07-11T17:14:37Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for quickcheck-dynamic-0.1.0

[back to package description]

quickcheck-dynamic

A library for testing stateful programs using QuickCheck and dynamic logic.

⚠️ ⚠️ ⚠️

This is still work-in-progress.

Background

This library was initially designed by QuviQ in collaboration with IOG to provide a dedicated test framework for Plutus "Smart contracts". As the need of a Model-Based Testing framework arises in quite a lot of contexts, it was deemed useful to extract the most generic part as a standalone package with no strings attached to Plutus or Cardano. Apart from Plutus, this library is now in use in the Hydra project to verify the Head Protocol implementation with respect to the original research paper.

Usage

Building

Without nix

This package uses a simple Cabal-based build. To build from source:

With nix

This repository comes with some nix files which might or might not help hacking on quickcheck-dynamic simpler. Before you start using nix, please make sure you've configured haskell.nix caching as per those instructions.