explainable-predicates: Predicates that can explain themselves.

[ bsd3, library, testing ] [ Propose Tags ]

Explainable predicates are essentially functions from types to Bool which can additionally describe themselves and explain why an argument does or doesn't match. They are intended to be used during unit tests to provide better error messages when tests fail. For example, if a collection is missing an element, an explainable predicate can tell you which element is missing.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
regex

Enable regular expression matching

Enabled
containers

Enable container matching, which depends on mono-traversable

Enabled
quickcheck

Enable QuickCheck integration

Enabled
hunit

Enable HUnit/Hspec integration

Enabled
dev

Developer build

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.2.2, 0.1.2.3
Change log CHANGELOG.md
Dependencies array (>=0.5.2 && <0.6), base (>=4.12.0 && <4.18), HUnit (>=1.3.0 && <1.7), mono-traversable (>=1.0.15 && <1.1), QuickCheck (>=2.8 && <2.15), regex-tdfa (>=1.3.1 && <1.4), syb (>=0.7.2 && <0.8), template-haskell (>=2.13.0 && <2.20) [details]
License BSD-3-Clause
Author Chris Smith <cdsmith@gmail.com>
Maintainer Chris Smith <cdsmith@gmail.com>
Category Testing
Home page https://github.com/cdsmith/explainable-predicates
Bug tracker https://github.com/cdsmith/explainable-predicates/issues
Source repo head: git clone git://github.com/cdsmith/explainable-predicates.git
Uploaded by ChrisSmith at 2022-09-19T01:08:55Z
Distributions LTSHaskell:0.1.2.3, NixOS:0.1.2.3, Stackage:0.1.2.3
Downloads 769 total (54 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for explainable-predicates-0.1.2.3

[back to package description]

explainable-predicates - Predicates that can explain themselves

CI Hackage

Explainable predicates are essentially functions from types to Bool which can additionally describe themselves and explain why an argument does or doesn't match. They are intended to be used during unit tests to provide better error messages when tests fail. For example, if a collection is missing an element, an explainable predicate can tell you which element is missing.

FAQ

Here are a few tips for making the most of explainable-predicates.

Which GHC versions are supported?

explainable-predicates is tested with GHC versions from 8.6 through 9.4.