genvalidity-hspec-0.2.0.5: Standard spec's for GenValidity instances

Safe HaskellNone
LanguageHaskell2010

Test.Validity.RelativeValidity

Contents

Synopsis

Tests for RelativeValidity instances

relativeValiditySpec :: (Typeable a, Typeable b, Show a, Show b, GenValidity a, GenValidity b, GenRelativeValidity a b) => Proxy a -> Proxy b -> Spec Source #

A Spec that specifies that isValidFor implies isValid

In general it is a good idea to add this spec to your test suite if the a and b in RelativeValidity a b also have a Validity instance.

Example usage:

relativeValiditySpec
    (Proxy :: Proxy MyDataFor)
    (Proxy :: Proxy MyOtherData)

relativeValidityImpliesValidA :: (Show a, Show b, GenValidity a, GenValidity b, RelativeValidity a b) => Proxy a -> Proxy b -> Property Source #

isValidFor a b implies isValid a for all b

relativeValidityImpliesValidB :: (Show a, Show b, GenValidity a, GenValidity b, RelativeValidity a b) => Proxy a -> Proxy b -> Property Source #

isValidFor a b implies isValid b for all a