mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-08 07:09:28 +03:00
37 lines
934 B
Haskell
Executable File
37 lines
934 B
Haskell
Executable File
#!/usr/bin/env stack
|
|
-- stack runghc --install-ghc --package easytest
|
|
-- (use project's resolver)
|
|
|
|
-- stack script --resolver lts-10.3 --package easytest
|
|
-- (use specific resolver, be more self-contained)
|
|
|
|
-- Examples of https://github.com/joelburget/easytest, an easier testing framework.
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
import EasyTest
|
|
import Control.Applicative
|
|
import Control.Monad
|
|
|
|
suite1 :: Test ()
|
|
suite1 = tests
|
|
[ scope "a" ok
|
|
, scope "b.c" ok
|
|
, scope "b" ok
|
|
, scope "b" . scope "c" . scope "d" $ ok
|
|
, scope "c" ok ]
|
|
|
|
reverseTest :: Test ()
|
|
reverseTest = scope "list reversal" $ do
|
|
nums <- listsOf [0..100] (int' 0 99)
|
|
nums `forM_` \nums -> expect (reverse (reverse nums) == nums)
|
|
|
|
main :: IO ()
|
|
main = do
|
|
run suite1
|
|
runOnly "a" suite1
|
|
runOnly "b" suite1
|
|
runOnly "b" $ tests [suite1, scope "xyz" (crash "never run")]
|
|
runOnly "b.c" $ tests [suite1, scope "b" (crash "never run")]
|
|
run reverseTest
|