aoc2024-haskell/test/Spec.hs
Victor Martinez d8e1b33810 setup tests!
2025-03-13 16:32:41 +01:00

16 lines
470 B
Haskell

import Control.Exception (evaluate)
import Test.Hspec
import Test.QuickCheck
main :: IO ()
main = hspec $ do
describe "Prelude.head" $ do
it "returns the first element of a list" $ do
head [23 ..] `shouldBe` (23 :: Int)
it "returns the first element of an *arbitrary* list" $
property $
\x xs -> head (x : xs) == (x :: Int)
it "throws an exception if used with an empty list" $ do
evaluate (head []) `shouldThrow` anyException