@hackage hspec-expectations-match0.1.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 a single expectation for use with hspec, shouldMatch. The shouldMatch expectation uses Template Haskell to assert that a value matches a particular pattern.

{-# 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.