quickcheck-properties-0.1: QuickCheck properties for standard type classes.

Test.QuickCheck.Property.Common.Internal

Contents

Description

Implementation of delayed comparison and composition of properties

Synopsis

Comparison for equality

data Equal a Source

Values to be compared for equality

Constructors

Equal a a 
NotE (Equal a) 
AndE (Equal a) (Equal a) 
OrE (Equal a) (Equal a) 

Instances

runEqual :: (a -> a -> Bool) -> Equal a -> BoolSource

Evaluate boolean expression inside Equal

class Equalable a whereSource

Recurse through function to apply comparison to Equal.

Associated Types

type Result a :: *Source

Type which should be compared for equality

type Compared a :: *Source

Result of comparison. Could be passed to quickCheck

Methods

equalWith :: (Result a -> Result a -> Bool) -> a -> Compared aSource

Compare value using custom comparison function

mapEqual :: (Equal (Result a) -> Equal (Result a)) -> a -> aSource

Map property

zipEquals :: (Equal (Result a) -> Equal (Result a) -> Equal (Result a)) -> a -> a -> aSource

Zip properties

Instances

Equalable (Equal a) 
Equalable a => Equalable (x -> a)