| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Validity.RelativeValidity
- 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