module Test.QuickCheck.Instances.Ord where

import Test.QuickCheck
import Control.Monad.Extensions

greaterThan :: (Ord a) => a -> Gen a -> Gen a
greaterThan :: a -> Gen a -> Gen a
greaterThan a
v = (a -> Bool) -> Gen a -> Gen a
forall (m :: * -> *) a. Monad m => (a -> Bool) -> m a -> m a
satisfiesM (a -> a -> Bool
forall a. Ord a => a -> a -> Bool
> a
v)

lessThan :: (Ord a) => a -> Gen a -> Gen a
lessThan :: a -> Gen a -> Gen a
lessThan a
v = (a -> Bool) -> Gen a -> Gen a
forall (m :: * -> *) a. Monad m => (a -> Bool) -> m a -> m a
satisfiesM (a -> a -> Bool
forall a. Ord a => a -> a -> Bool
< a
v)