Copyright | (c) Plow Technologies 2016 |
---|---|
License | BSD3 |
Maintainer | mchaver@gmail.com |
Stability | Beta |
Safe Haskell | None |
Language | Haskell2010 |
Internal module, use at your own risk.
Synopsis
- roundtripSpecs :: forall a. (Typeable a, Arbitrary a, ToJSON a, FromJSON a) => Proxy a -> Spec
- genericAesonRoundtripWithNote :: forall a. (Typeable a, Arbitrary a, ToJSON a, FromJSON a) => Proxy a -> Maybe String -> Spec
- genericAesonRoundtripWithNotePlain :: forall a. (Arbitrary a, ToJSON a, FromJSON a) => Proxy a -> Maybe String -> String -> Spec
Documentation
roundtripSpecs :: forall a. (Typeable a, Arbitrary a, ToJSON a, FromJSON a) => Proxy a -> Spec Source #
A roundtrip test to check whether values of the given type can be successfully converted to JSON and back to a Haskell value.
roundtripSpecs
will
- create random values (using
Arbitrary
), - convert them into JSON (using
ToJSON
), - read them back into Haskell (using
FromJSON
) and - make sure that the result is the same as the value it started with
(using
Eq
).
genericAesonRoundtripWithNote :: forall a. (Typeable a, Arbitrary a, ToJSON a, FromJSON a) => Proxy a -> Maybe String -> Spec Source #
Same as roundtripSpecs
, but optionally add notes to the describe
function.
genericAesonRoundtripWithNotePlain :: forall a. (Arbitrary a, ToJSON a, FromJSON a) => Proxy a -> Maybe String -> String -> Spec Source #
Same as genericAesonRoundtripWithNote
, but no need for Typeable, Eq, or Show