1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
name: chell
version: 0.4
license: MIT
license-file: license.txt
author: John Millikin <john@john-millikin.com>
maintainer: John Millikin <john@john-millikin.com>
build-type: Simple
cabal-version: >= 1.6
category: Testing
bug-reports: mailto:jmillikin@gmail.com
homepage: https://john-millikin.com/software/chell/
synopsis: A simple and intuitive library for automated testing.
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 artithmetic operators.
.
@
{-\# LANGUAGE TemplateHaskell \#-}
.
import Test.Chell
.
tests_Math :: Suite
tests_Math = suite \"math\"
  [ test_Addition
  , test_Subtraction
  ]
.
test_Addition :: Test
test_Addition = assertions \"addition\" $ do
  $expect (equal (2 + 1) 3)
  $expect (equal (1 + 2) 3)
.
test_Subtraction :: Test
test_Subtraction = assertions \"subtraction\" $ do
  $expect (equal (2 - 1) 1)
  $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
@
source-repository head
type: git
location: https://john-millikin.com/code/chell/
source-repository this
type: git
location: https://john-millikin.com/code/chell/
tag: chell_0.4
flag color-output
description: Enable colored output in test results
default: True
library
hs-source-dirs: lib
ghc-options: -Wall -O2
build-depends:
base >= 4.1 && < 5.0
, bytestring >= 0.9
, options >= 1.0 && < 2.0
, patience >= 0.1 && < 0.2
, random >= 1.0
, template-haskell >= 2.3
, text
, transformers >= 0.2
if flag(color-output)
build-depends:
ansi-terminal >= 0.5 && < 0.7
exposed-modules:
Test.Chell
other-modules:
Test.Chell.Main
Test.Chell.Output
Test.Chell.Types
|