@hackage hspec-expectations-match0.2.0.0

An hspec expectation that asserts a value matches a pattern.

hspec-expectations-match Build Status

hspec-expectations-match is a Haskell package that provides expectations for use with hspec that use Template Haskell to assert that a value matches a particular pattern. The primary expectation is shouldMatch:

{-# LANGUAGE TemplateHaskell #-}

ghci> $([|Just True|] `shouldMatch` [p|Just _|])
ghci> $([|Nothing|] `shouldMatch` [p|Just _|])
*** Exception: Nothing failed to match pattern (Just x)

Additionally, any bindings created by the pattern will be returned if the pattern is successfully matched, making it easier to extract the result of some assertion and use it to make further assertions.

ghci> $([|Just True|] `shouldMatch` [p|Just x|])
True
ghci> $([|[1, 2]|] `shouldMatch` [p|[x, y]|])
(1, 2)

For more information, see the documentation on Hackage.