| Copyright | (c) 2018 Rudy Matela |
|---|---|
| License | 3-Clause BSD (see the file LICENSE) |
| Maintainer | Rudy Matela <rudy@matela.com.br> |
| Safe Haskell | None |
| Language | Haskell2010 |
Test.Hspec.LeanCheck
Contents
Description
LeanCheck support for the Hspec test framework.
Here's how your spec.hs might look like:
import Test.Hspec
import Test.Hspec.LeanCheck as LC
import Data.List (sort)
main :: IO ()
main = hspec spec
spec :: Spec
spec = do
describe "sort" $ do
it "is idempotent" $
LC.property $ \xs -> sort (sort xs :: [Int]) == sort xs
it "is identity" $ -- not really
LC.property $ \xs -> sort (xs :: [Int]) == xsThe output for the above program is:
$ ./eg/minimal
sort
is idempotent
is identity FAILED [1]
Failures:
eg/minimal.hs:17:5:
1) sort is identity
[1,0]
To rerun use: --match "/sort/is identity/"
2 examples, 1 failurePlease see the documentation of Test.LeanCheck and Hspec for more details.