quickcheck-special-0.1.0.0: Edge cases and special values for QuickCheck Arbitrary instances

Safe HaskellNone
LanguageHaskell2010

Test.QuickCheck.Special

Synopsis

Documentation

newtype Special a Source #

Additionally to the standard Arbitrary instances, this generates special values with a small probability.

Constructors

Special 

Fields

Instances

Functor Special Source # 

Methods

fmap :: (a -> b) -> Special a -> Special b #

(<$) :: a -> Special b -> Special a #

Bounded a => Bounded (Special a) Source # 
Enum a => Enum (Special a) Source # 

Methods

succ :: Special a -> Special a #

pred :: Special a -> Special a #

toEnum :: Int -> Special a #

fromEnum :: Special a -> Int #

enumFrom :: Special a -> [Special a] #

enumFromThen :: Special a -> Special a -> [Special a] #

enumFromTo :: Special a -> Special a -> [Special a] #

enumFromThenTo :: Special a -> Special a -> Special a -> [Special a] #

Eq a => Eq (Special a) Source # 

Methods

(==) :: Special a -> Special a -> Bool #

(/=) :: Special a -> Special a -> Bool #

Integral a => Integral (Special a) Source # 

Methods

quot :: Special a -> Special a -> Special a #

rem :: Special a -> Special a -> Special a #

div :: Special a -> Special a -> Special a #

mod :: Special a -> Special a -> Special a #

quotRem :: Special a -> Special a -> (Special a, Special a) #

divMod :: Special a -> Special a -> (Special a, Special a) #

toInteger :: Special a -> Integer #

Num a => Num (Special a) Source # 

Methods

(+) :: Special a -> Special a -> Special a #

(-) :: Special a -> Special a -> Special a #

(*) :: Special a -> Special a -> Special a #

negate :: Special a -> Special a #

abs :: Special a -> Special a #

signum :: Special a -> Special a #

fromInteger :: Integer -> Special a #

Ord a => Ord (Special a) Source # 

Methods

compare :: Special a -> Special a -> Ordering #

(<) :: Special a -> Special a -> Bool #

(<=) :: Special a -> Special a -> Bool #

(>) :: Special a -> Special a -> Bool #

(>=) :: Special a -> Special a -> Bool #

max :: Special a -> Special a -> Special a #

min :: Special a -> Special a -> Special a #

Read a => Read (Special a) Source # 
Real a => Real (Special a) Source # 

Methods

toRational :: Special a -> Rational #

Show a => Show (Special a) Source # 

Methods

showsPrec :: Int -> Special a -> ShowS #

show :: Special a -> String #

showList :: [Special a] -> ShowS #

CoArbitrary a => CoArbitrary (Special a) Source # 

Methods

coarbitrary :: Special a -> Gen b -> Gen b

(Arbitrary a, SpecialValues a) => Arbitrary (Special a) Source # 

Methods

arbitrary :: Gen (Special a)

shrink :: Special a -> [Special a]

class SpecialValues a where Source #

Provides a list of special values or edge cases

Minimal complete definition

specialValues

Methods

specialValues :: [a] Source #

Finite list of special values

Instances

SpecialValues Bool Source # 
SpecialValues Char Source # 
SpecialValues Double Source # 
SpecialValues Float Source # 
SpecialValues Int Source # 
SpecialValues Int8 Source # 
SpecialValues Int16 Source # 
SpecialValues Int32 Source # 
SpecialValues Int64 Source # 
SpecialValues Integer Source # 
SpecialValues Word Source # 
SpecialValues Word8 Source # 
SpecialValues Word16 Source # 
SpecialValues Word32 Source # 
SpecialValues Word64 Source # 
SpecialValues Natural Source # 
SpecialValues ByteString Source # 
SpecialValues ByteString Source # 
SpecialValues Scientific Source # 

Methods

specialValues :: [Scientific] Source #

SpecialValues Text Source # 

Methods

specialValues :: [Text] Source #

SpecialValues Text Source # 

Methods

specialValues :: [Text] Source #

SpecialValues a => SpecialValues [a] Source # 

Methods

specialValues :: [[a]] Source #

SpecialValues a => SpecialValues (Maybe a) Source # 

Methods

specialValues :: [Maybe a] Source #

(SpecialValues a, SpecialValues b) => SpecialValues (Either a b) Source # 

Methods

specialValues :: [Either a b] Source #

(SpecialValues a, SpecialValues b) => SpecialValues (a, b) Source # 

Methods

specialValues :: [(a, b)] Source #