Add some the scaffolding for testing
As I attempt to habituate TDD, I should have some examples of tests to minimize all friction preventing me from testing.
This commit is contained in:
parent
c4299558a7
commit
40753e9f3b
2 changed files with 20 additions and 0 deletions
19
scratch/brilliant/Spec.hs
Normal file
19
scratch/brilliant/Spec.hs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
--------------------------------------------------------------------------------
|
||||
module Spec where
|
||||
--------------------------------------------------------------------------------
|
||||
import Test.Hspec
|
||||
import Test.QuickCheck
|
||||
import Control.Exception (evaluate)
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
main :: IO ()
|
||||
main = hspec $ do
|
||||
describe "Prelude.head" $ do
|
||||
it "returns the first element of a list" $ do
|
||||
head [23 ..] `shouldBe` (23 :: Integer)
|
||||
|
||||
it "returns the first element of an arbitrary list" $
|
||||
property $ \x xs -> head (x:xs) == (x :: Integer)
|
||||
|
||||
it "throws an exception if used with an empty list" $ do
|
||||
evaluate (head []) `shouldThrow` anyException
|
||||
Loading…
Add table
Add a link
Reference in a new issue