genvalidity-hspec-persistent-1.0.0.0: Standard spec's for persistent-related instances
Safe HaskellNone
LanguageHaskell2010

Test.Validity.Persist

Description

Standard test Specs and raw Propertys for PersistField instances.

You will need TypeApplications to use these.

Synopsis

Documentation

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

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

Example usage:

persistSpec @Int

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

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

Example usage:

persistSpecOnArbitrary @Int

persistSpecOnGen :: forall a. (Show a, Eq a, Typeable a, PersistField a) => Gen a -> String -> (a -> [a]) -> Spec Source #

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

Example usage:

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

fromPersistValueAndToPersistValueAreInversesOnGen :: (Show a, Eq a, PersistField a) => Gen a -> (a -> [a]) -> Property Source #

fromPersistValueAndToPersistValueAreInversesOnGen @Bool arbitrary shrink
fromPersistValueAndToPersistValueAreInversesOnGen @Bool genValid shrinkValid
fromPersistValueAndToPersistValueAreInversesOnGen @Bool genValid shrinkValid
fromPersistValueAndToPersistValueAreInversesOnGen @Int arbitrary shrink
fromPersistValueAndToPersistValueAreInversesOnGen @Int genValid shrinkValid
fromPersistValueAndToPersistValueAreInversesOnGen @Int genValid shrinkValid