HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

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