genvalidity-property-0.1.0.0: src/Test/Validity/GenValidity/Property.hs
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
-- | Tests for GenValidity instances
module Test.Validity.GenValidity.Property
( genGeneratesValid
, genGeneratesInvalid
) where
import Data.GenValidity
import Test.Hspec
import Test.QuickCheck
-- | The given generator generates only valid data points
genGeneratesValid ::
forall a. (Show a, Validity a)
=> Gen a
-> (a -> [a])
-> Property
genGeneratesValid gen s = forAllShrink gen s (`shouldSatisfy` isValid)
-- | The given generator generates only invalid data points
genGeneratesInvalid ::
forall a. (Show a, Validity a)
=> Gen a
-> (a -> [a])
-> Property
genGeneratesInvalid gen s = forAllShrink gen s (`shouldSatisfy` isInvalid)