HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulegenvalidity-hspec-aeson-1.0.0.0Haskell2010

Test.Validity.Aeson

Standard test Specs and raw Propertys for FromJSON and ToJSON instances.

You will need TypeApplications to use these.

  • 5 values
valuejsonSpecOnGen
  1. :: (Show a, Eq a, Typeable a, FromJSON a, ToJSON a)
  2. => Gen a
  3. -> String
  4. -> a -> [a]
  5. -> Spec
#

Standard test spec for properties of JSON-related functions for a given generator (and a name for that generator).

Example usage:

jsonSpecOnGen (genListOf $ pure 'a') "sequence of 'a's"
valueneverFailsToEncodeOnGen
  1. :: (Show a, ToJSON a)
  2. => Gen a
  3. -> a -> [a]
  4. -> Property
#
Property
neverFailsToEncodeOnGen @Bool arbitrary shrink
Property
neverFailsToEncodeOnGen @Bool genValid shrinkValid
Property
neverFailsToEncodeOnGen @Bool genValid shrinkValid
Property
neverFailsToEncodeOnGen @Int arbitrary shrink
Property
neverFailsToEncodeOnGen @Int genValid shrinkValid
Property
neverFailsToEncodeOnGen @Int genValid shrinkValid
valueencodeAndDecodeAreInversesOnGen
  1. :: (Show a, Eq a, FromJSON a, ToJSON a)
  2. => Gen a
  3. -> a -> [a]
  4. -> Property
#
Property
encodeAndDecodeAreInversesOnGen @Bool arbitrary shrink
Property
encodeAndDecodeAreInversesOnGen @Bool genValid shrinkValid
Property
encodeAndDecodeAreInversesOnGen @Bool genValid shrinkValid
Property
encodeAndDecodeAreInversesOnGen @Int arbitrary shrink
Property
encodeAndDecodeAreInversesOnGen @Int genValid shrinkValid
Property
encodeAndDecodeAreInversesOnGen @Int genValid shrinkValid