cabal-version: 2.4 name: explainable-predicates version: 0.1.2.3 x-revision: 1 synopsis: Predicates that can explain themselves. description: 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. category: Testing homepage: https://github.com/cdsmith/explainable-predicates bug-reports: https://github.com/cdsmith/explainable-predicates/issues license: BSD-3-Clause license-file: LICENSE author: Chris Smith maintainer: Chris Smith extra-source-files: CHANGELOG.md, README.md tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.3 || == 9.4.2 source-repository head type: git location: git://github.com/cdsmith/explainable-predicates.git flag regex description: Enable regular expression matching manual: True default: True flag containers description: Enable container matching, which depends on mono-traversable manual: True default: True flag quickcheck description: Enable QuickCheck integration manual: True default: True flag hunit description: Enable HUnit/Hspec integration manual: True default: True flag dev description: Developer build manual: True default: False library exposed-modules: Test.Predicates, Test.Predicates.Internal.FlowMatcher other-modules: Test.Predicates.Internal.Util build-depends: array >= 0.5.2 && < 0.6, base >=4.12.0 && < 4.19, syb >= 0.7.2 && < 0.8, template-haskell >= 2.13.0 && < 2.21, hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns if flag(regex) build-depends: regex-tdfa >= 1.3.1 && < 1.4, cpp-options: -DREGEX if flag(containers) build-depends: mono-traversable >= 1.0.15 && < 1.1, cpp-options: -DCONTAINERS if flag(quickcheck) build-depends: QuickCheck >= 2.8 && < 2.15, exposed-modules: Test.Predicates.QuickCheck if flag(hunit) build-depends: HUnit >= 1.3.0 && < 1.7, exposed-modules: Test.Predicates.HUnit if flag(dev) ghc-options: -Werror test-suite tests type: exitcode-stdio-1.0 main-is: Main.hs build-depends: base, doctest-exitcode-stdio, doctest-lib, explainable-predicates, hspec, hs-source-dirs: test default-language: Haskell2010 ghc-options: -threaded -Wall -Wcompat -Wincomplete-uni-patterns if flag(regex) cpp-options: -DREGEX if flag(containers) cpp-options: -DCONTAINERS if flag(regex) && flag(containers) other-modules: DocTests.All, DocTests.Test.Predicates, DocTests.Test.Predicates.Internal.FlowMatcher cpp-options: -DDOCTESTS if flag(dev) ghc-options: -Werror