genvalidity-hspec-cereal-0.0.0.1: Standard spec's for cereal-related instances

Safe HaskellNone
LanguageHaskell2010

Test.Validity.Cereal

Description

Standard test Specs and raw Propertys for Serialize instances.

You will need TypeApplications to use these.

Synopsis

Documentation

serializeSpecOnValid :: forall a. (Show a, Eq a, Typeable a, GenValid a, Serialize a) => Spec Source #

Standard test spec for properties of Serialize-related functions for valid values

Example usage:

serializeSpecOnValid @Double

serializeSpec :: forall a. (Show a, Eq a, Typeable a, GenUnchecked a, Serialize a) => Spec Source #

Standard test spec for properties of Serialize-related functions for unchecked values

Example usage:

serializeSpec @Int

serializeSpecOnArbitrary :: forall a. (Show a, Eq a, Typeable a, Arbitrary a, Serialize a) => Spec Source #

Standard test spec for properties of Serialize-related functions for arbitrary values

Example usage:

serializeSpecOnArbitrary @Int

serializeSpecOnGen :: forall a. (Show a, Eq a, Typeable a, Serialize a) => Gen a -> String -> Spec Source #

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

Example usage:

serializeSpecOnGen (genListOf $ pure 'a') "sequence of 'a's"

neverFailsToEncodeOnGen :: (Show a, Serialize a) => Gen a -> Property Source #

neverFailsToEncodeOnGen @Bool arbitrary
neverFailsToEncodeOnGen @Bool genUnchecked
neverFailsToEncodeOnGen @Bool genValid
neverFailsToEncodeOnGen @Int arbitrary
neverFailsToEncodeOnGen @Int genUnchecked
neverFailsToEncodeOnGen @Int genValid

encodeAndDecodeAreInversesOnGen :: (Show a, Eq a, Serialize a) => Gen a -> Property Source #

encodeAndDecodeAreInversesOnGen @Bool arbitrary
encodeAndDecodeAreInversesOnGen @Bool genUnchecked
encodeAndDecodeAreInversesOnGen @Bool genValid
encodeAndDecodeAreInversesOnGen @Int arbitrary
encodeAndDecodeAreInversesOnGen @Int genUnchecked
encodeAndDecodeAreInversesOnGen @Int genValid