foundation-0.0.6: Alternative prelude with batteries and no dependencies

Safe HaskellNone
LanguageHaskell2010

Foundation.Check

Contents

Synopsis

Documentation

data Gen a #

Generator monad

Instances

Monad Gen # 

Methods

(>>=) :: Gen a -> (a -> Gen b) -> Gen b #

(>>) :: Gen a -> Gen b -> Gen b #

return :: a -> Gen a #

fail :: String -> Gen a #

Functor Gen # 

Methods

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

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

Applicative Gen # 

Methods

pure :: a -> Gen a #

(<*>) :: Gen (a -> b) -> Gen a -> Gen b #

(*>) :: Gen a -> Gen b -> Gen b #

(<*) :: Gen a -> Gen b -> Gen a #

IsProperty prop => IsProperty (Gen prop) # 

Methods

property :: Gen prop -> Property #

class Arbitrary a where #

How to generate an arbitrary value for a

Minimal complete definition

arbitrary

Methods

arbitrary :: Gen a #

Instances

Arbitrary Bool # 

Methods

arbitrary :: Gen Bool #

Arbitrary Char # 

Methods

arbitrary :: Gen Char #

Arbitrary Int # 

Methods

arbitrary :: Gen Int #

Arbitrary Int8 # 

Methods

arbitrary :: Gen Int8 #

Arbitrary Int16 # 

Methods

arbitrary :: Gen Int16 #

Arbitrary Int32 # 

Methods

arbitrary :: Gen Int32 #

Arbitrary Int64 # 

Methods

arbitrary :: Gen Int64 #

Arbitrary Integer # 
Arbitrary Word # 

Methods

arbitrary :: Gen Word #

Arbitrary Word8 # 

Methods

arbitrary :: Gen Word8 #

Arbitrary Word16 # 

Methods

arbitrary :: Gen Word16 #

Arbitrary Word32 # 

Methods

arbitrary :: Gen Word32 #

Arbitrary Word64 # 

Methods

arbitrary :: Gen Word64 #

Arbitrary Natural # 
Arbitrary String # 

Methods

arbitrary :: Gen String #

Arbitrary a => Arbitrary (Maybe a) # 

Methods

arbitrary :: Gen (Maybe a) #

(Arbitrary l, Arbitrary r) => Arbitrary (Either l r) # 

Methods

arbitrary :: Gen (Either l r) #

(Arbitrary a, Arbitrary b) => Arbitrary (a, b) # 

Methods

arbitrary :: Gen (a, b) #

(Arbitrary a, Arbitrary b, Arbitrary c) => Arbitrary (a, b, c) # 

Methods

arbitrary :: Gen (a, b, c) #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d) => Arbitrary (a, b, c, d) # 

Methods

arbitrary :: Gen (a, b, c, d) #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e) => Arbitrary (a, b, c, d, e) # 

Methods

arbitrary :: Gen (a, b, c, d, e) #

(Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e, Arbitrary f) => Arbitrary (a, b, c, d, e, f) # 

Methods

arbitrary :: Gen (a, b, c, d, e, f) #

oneof :: NonEmpty [Gen a] -> Gen a #

elements :: NonEmpty [a] -> Gen a #

frequency :: NonEmpty [(Word, Gen a)] -> Gen a #

Call one of the generator weighted

data Test where #

Constructors

Unit :: String -> IO () -> Test 
Property :: IsProperty prop => String -> prop -> Test 
Group :: String -> [Test] -> Test 

testName :: Test -> String #

Name of a test

Property

data Property #

Constructors

Prop 

Fields

Instances

class IsProperty p where #

Minimal complete definition

property

Methods

property :: p -> Property #

Instances

IsProperty Bool # 

Methods

property :: Bool -> Property #

IsProperty Property # 
IsProperty prop => IsProperty (Gen prop) # 

Methods

property :: Gen prop -> Property #

(Arbitrary a, IsProperty prop) => IsProperty (a -> prop) # 

Methods

property :: (a -> prop) -> Property #

(===) :: Eq a => a -> a -> Property infix 4 #

As Program

defaultMain :: Test -> IO () #

Run tests