| Safe Haskell | Safe-Infered |
|---|
Test.Hspec.QuickCheck
Description
Importing this module allows you to use a QuickCheck property as an example
for a behavior. Use the property function to indicate a QuickCkeck property.
Any output from the example to stdout is ignored. If you need to write out for
debugging, you can write to stderr or a file handle.
describe "cutTheDeck" [
it "puts the first half of a list after the last half"
(property $ \ xs -> let top = take (length xs `div` 2) xs
bot = drop (length xs `div` 2) xs
in cutTheDeck xs == bot ++ top),
it "restores an even sized list when cut twice"
(property $ \ xs -> even (length xs) ==> cutTheDeck (cutTheDeck xs) == xs)
]