Safe Haskell | None |
---|---|
Language | Haskell2010 |
- relativeValiditySpec :: (Typeable a, Typeable b, Show a, Show b, GenValidity a, GenValidity b, GenRelativeValidity a b) => Proxy a -> Proxy b -> Spec
- relativeValidityImpliesValidA :: (Show a, Show b, GenValidity a, GenValidity b, RelativeValidity a b) => Proxy a -> Proxy b -> Property
- relativeValidityImpliesValidB :: (Show a, Show b, GenValidity a, GenValidity b, RelativeValidity a b) => Proxy a -> Proxy b -> Property
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