homepage: https://github.com/input-output-hk/quickcheck-dynamic#readme
changelog-type: ''
hash: 36fe636866a3e31fb5c68e4b9a3e302bf5fe37e9a25db8c0daef1d544a779af6
test-bench-deps: {}
maintainer: arnaud.bailly@iohk.io
synopsis: A library for stateful property-based testing
changelog: ''
basic-deps:
  base: '>=4.7 && <5'
  random: -any
  QuickCheck: -any
all-versions:
- 1.0.0
author: Ulf Norell
latest: 1.0.0
description-type: markdown
description: |
  # quickcheck-dynamic

  A library for testing stateful programs using [QuickCheck](https://hackage.haskell.org/package/QuickCheck) and [dynamic logic](https://en.wikipedia.org/wiki/Dynamic_logic_(modal_logic)).

  ## Background

  This library was initially designed by [QuviQ](http://www.quviq.com/) in collaboration with
  [IOG](https://iohk.io/) to provide a dedicated test framework for [Plutus](https://docs.cardano.org/plutus/learn-about-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.

  ## Usage

  * Documentation is currenly mostly provided inline as Haddock
    comments. Checkout [StateModel](src/Test/QuickCheck/StateModel.hs)
    and [DynamicLogic](src/Test/QuickCheck/DynamicLogic.hs) modules for
    some usage instructions.
  * For a concrete standalone example, have a look at [Registry](../quickcheck-io-sim-compat/test/Spec/DynamicLogic/Registry.hs), a multithreaded Thread registry.
  * For more documentation on how to quickcheck-dynamic is used to test
    Plutus DApps, check this
    [tutorial](https://plutus-apps.readthedocs.io/en/latest/plutus/tutorials/contract-models.html).
  * Apart from Plutus, this library is now in use in the
    [Hydra](https://github.com/input-output-hk/hydra-poc) project to
    verify the _Head Protocol_ implementation with respect to the
    original research paper.
license-name: Apache-2.0

Update from Hackage at 2022-08-18T14:30:05Z
Update from Hackage at 2022-08-18T14:30:05Z
