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