packages feed

chell-0.5.0.1: chell.cabal

cabal-version: 3.0

name: chell
version: 0.5.0.1

synopsis: A simple and intuitive library for automated testing.
category: Testing

license: MIT
license-file: license.txt
author: John Millikin <john@john-millikin.com>
maintainer: Chris Martin, Julie Moronuki
build-type: Simple

homepage:    https://github.com/typeclasses/chell
bug-reports: https://github.com/typeclasses/chell/issues

description:
  Chell is a simple and intuitive library for automated testing. It natively
  supports assertion-based testing, and can use companion libraries
  such as @chell-quickcheck@ to support more complex testing strategies.

  An example test suite, which verifies the behavior of arithmetic operators.

  @
  &#x7b;-\# LANGUAGE TemplateHaskell \#-&#x7d;

  import Test.Chell

  tests_Math :: Suite
  tests_Math = suite \"math\"
  &#x20;   [ test_Addition
  &#x20;   , test_Subtraction
  &#x20;   ]

  test_Addition :: Test
  test_Addition = assertions \"addition\" $ do
  &#x20;   $expect (equal (2 + 1) 3)
  &#x20;   $expect (equal (1 + 2) 3)

  test_Subtraction :: Test
  test_Subtraction = assertions \"subtraction\" $ do
  &#x20;   $expect (equal (2 - 1) 1)
  &#x20;   $expect (equal (1 - 2) (-1))

  main :: IO ()
  main = defaultMain [tests_Math]
  @

  @
  $ ghc --make chell-example.hs
  $ ./chell-example
  PASS: 2 tests run, 2 tests passed
  @

extra-source-files:
  changelog.md

source-repository head
  type: git
  location: https://github.com/typeclasses/chell.git

flag color-output
  description: Enable colored output in test results
  default: True

library
  default-language: Haskell2010
  ghc-options: -Wall

  build-depends:
      base >= 4.10 && < 4.17
    , bytestring >= 0.10.8.2 && < 0.12
    , options >= 1.2.1 && < 1.3
    , patience >= 0.2 && < 0.4
    , random >= 1.1 && < 1.3
    , template-haskell >= 2.12 && < 2.19
    , text >= 1.2.3 && < 1.2.6
    , transformers >= 0.5.2 && < 0.6

  if flag(color-output)
    build-depends:
        ansi-terminal >= 0.8 && < 0.12

  exposed-modules:
    Test.Chell

  other-modules:
    Test.Chell.Main
    Test.Chell.Output
    Test.Chell.Types