module Freckle.App.Test.Properties.JSON ( prop_roundTripJSON ) where import Freckle.App.Prelude import Data.Aeson -- | Check that @fromJSON (toJSON value)@ is @value@ prop_roundTripJSON :: (FromJSON a, ToJSON a, Eq a) => a -> Bool prop_roundTripJSON :: forall a. (FromJSON a, ToJSON a, Eq a) => a -> Bool prop_roundTripJSON a a = forall a. FromJSON a => Value -> Result a fromJSON (forall a. ToJSON a => a -> Value toJSON a a) forall a. Eq a => a -> a -> Bool == forall a. a -> Result a Success a a