{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-}
module Test.Hspec.QuickCheck (
modifyArgs
, modifyMaxSuccess
, modifyMaxDiscardRatio
, modifyMaxSize
, modifyMaxShrinks
, prop
, xprop
, fprop
) where
import Test.Hspec
import Test.QuickCheck
import Test.Hspec.Core.QuickCheck
prop :: (HasCallStack, Testable prop) => String -> prop -> Spec
prop :: forall prop.
(HasCallStack, Testable prop) =>
String -> prop -> Spec
prop String
s = String -> Property -> SpecWith (Arg Property)
forall a.
(HasCallStack, Example a) =>
String -> a -> SpecWith (Arg a)
it String
s (Property -> Spec) -> (prop -> Property) -> prop -> Spec
forall b c a. (b -> c) -> (a -> b) -> a -> c
. prop -> Property
forall prop. Testable prop => prop -> Property
property
xprop :: (HasCallStack, Testable prop) => String -> prop -> Spec
xprop :: forall prop.
(HasCallStack, Testable prop) =>
String -> prop -> Spec
xprop String
s = String -> Property -> SpecWith (Arg Property)
forall a.
(HasCallStack, Example a) =>
String -> a -> SpecWith (Arg a)
xit String
s (Property -> Spec) -> (prop -> Property) -> prop -> Spec
forall b c a. (b -> c) -> (a -> b) -> a -> c
. prop -> Property
forall prop. Testable prop => prop -> Property
property
fprop :: (HasCallStack, Testable prop) => String -> prop -> Spec
fprop :: forall prop.
(HasCallStack, Testable prop) =>
String -> prop -> Spec
fprop String
s = String -> Property -> SpecWith (Arg Property)
forall a.
(HasCallStack, Example a) =>
String -> a -> SpecWith (Arg a)
fit String
s (Property -> Spec) -> (prop -> Property) -> prop -> Spec
forall b c a. (b -> c) -> (a -> b) -> a -> c
. prop -> Property
forall prop. Testable prop => prop -> Property
property