genvalidity-hspec-0.6.1.1: Standard spec's for GenValidity instances

Safe HaskellNone
LanguageHaskell2010

Test.Validity.Shrinking

Description

Tests for Shrinking functions

You will need TypeApplications to use these.

Synopsis

Documentation

shrinkValidSpec :: forall a. (Show a, Typeable a, GenValid a) => Spec Source #

shrinkPreservesValidOnGenValid :: (Show a, GenValid a) => (a -> [a]) -> Property #

shrinkPreservesValidOnGenValid (:[])

shrinkPreservesInvalidOnGenInvalid :: (Show a, GenInvalid a) => (a -> [a]) -> Property #

shrinkPreservesInvalidOnGenInvalid (:[])

shrinkValidPreservesValid :: (Show a, GenValid a) => Gen a -> Property #

shrinkValidPreservesValid (pure 5)

shrinkInvalidPreservesInvalid :: (Show a, GenInvalid a) => Gen a -> Property #

shrinkInvalidPreservesInvalid (pure (1/0) :: Gen Double)

shrinkingStaysValid :: (Show a, Validity a) => Gen a -> (a -> [a]) -> Property #

shrinkingStaysValid (pure 5 :: Gen Double) (\d -> [d - 1, d - 2])

shrinkingStaysInvalid :: (Show a, Validity a) => Gen a -> (a -> [a]) -> Property #

shrinkingStaysInvalid (pure (1/0) :: Gen Double) (:[])

shrinkingPreserves :: Show a => Gen a -> (a -> [a]) -> (a -> Bool) -> Property #

shrinkingPreserves (pure 5) (:[]) (== 5)