Named test
Modulecheckers-0.6.0Haskell2010
Test.QuickCheck.Checkers
Some QuickCheck helpers
Synopsis
- type Test
- type TestBatch
- value unbatch
- value checkBatch
- value quickBatch
- value verboseBatch
- type Unop
- type Binop
- value genR
- value involution
- value inverseL
- value inverse
- type FracT
- type NumT
- type OrdT
- type T
- class EqProp
- value eq
- type BinRel
- value reflexive
- value transitive
- value symmetric
- value antiSymmetric
- value leftId
- value rightId
- value bothId
- value isAssoc
- value isCommut
- value commutes
- data MonoidD
- value monoidD
- value endoMonoidD
- value homomorphism
- value idempotent
- value idempotent2
- value idemElem
- class Model
- value meq
- value meq1
- value meq2
- value meq3
- value meq4
- value meq5
- value eqModels
- value denotationFor
- class Model1
- value arbs
- value gens
- value .&.
- value arbitrarySatisfying
- Packagecheckers-0.6.0
- Exports50
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceCheckers.hs
Misc
Named batch of tests
Flatten a test batch for inclusion in another
Check a batch tersely.
Check a batch verbosely.
Unary function, handy for type annotations
Binary function, handy for type annotations
f is its own inverse. See also inverse.
f is a left inverse of g. See also inverse.
f is a left and right inverse of g. See also inverseL.
Token Fractional type for tests
Token Num type for tests
Token Ord type for tests
Token uninteresting type for tests
Generalized equality
Types of values that can be tested for equality, perhaps through random sampling.
Instances37EqProp, …
EqProp IntegerDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp AllDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp AnyDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp BoolDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp CharDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp DoubleDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp FloatDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp IntDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp OrderingDefined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp ()Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (First a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Last a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Max a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Min a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (NonEmpty a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Identity a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Dual a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Product a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Sum a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (ZipList a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Maybe a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp [a]Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEq a => EqProp (Complex a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEq a => EqProp (Ratio a)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(Show a, Arbitrary a, EqProp a) => EqProp (Endo a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp (Proxy a)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(EqProp a, EqProp b) => EqProp (Either a b)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(EqProp a, EqProp b) => EqProp (a, b)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(Show a, Arbitrary a, EqProp b) => EqProp (a -> b)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp (f a) => EqProp (Ap f a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp (f a) => EqProp (Alt f a)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp a => EqProp (Const a b)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(EqProp a, EqProp b, EqProp c) => EqProp (a, b, c)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(EqProp (f a), EqProp (g a)) => EqProp (Product f g a)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(EqProp (f a), EqProp (g a)) => EqProp (Sum f g a)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(EqProp a, EqProp b, EqProp c, EqProp d) => EqProp (a, b, c, d)Defined in checkers-0.6.0 · Test.QuickCheck.CheckersEqProp (f (g a)) => EqProp (Compose f g a)Defined in checkers-0.6.0 · Test.QuickCheck.Checkers
Reflexive property: a rel a
Transitive property: a .
Generate rel b && b rel c ==> a rel ca randomly, but use gen a to generate b and gen b to
generate c. gen ought to satisfy rel fairly often.
Symmetric property: a . Generate rel b ==> b rel aa
randomly, but use gen a to generate b. gen ought to satisfy
rel fairly often.
Antisymmetric property: (a .rel b) && (a /= b) ==> not (b rel a)
Has a given left identity, according to (=-=)
Has a given right identity, according to (=-=)
Has a given left and right identity, according to (=-=)
Associative, according to (=-=)
Commutative, according to (=-=)
Commutative, according to (=-=)
Homomorphism properties with respect to given monoid dictionaries.
See also monoidMorphism.
The unary function f is idempotent, i.e., f . f == f
A binary function op is idempotent, i.e., x , for all op x == xx
A binary function op is has an idempotent element x, i.e.,
x op x == x
Model-based (semantics-based) testing
Methods
model :: a -> b
Instances8Model, …
Model String StringDefined in checkers-0.6.0 · Test.QuickCheck.CheckersModel Bool BoolDefined in checkers-0.6.0 · Test.QuickCheck.CheckersModel Char CharDefined in checkers-0.6.0 · Test.QuickCheck.CheckersModel Double DoubleDefined in checkers-0.6.0 · Test.QuickCheck.CheckersModel Float FloatDefined in checkers-0.6.0 · Test.QuickCheck.CheckersModel Int IntDefined in checkers-0.6.0 · Test.QuickCheck.CheckersModel b b' => Model (a -> b) (a -> b')Defined in checkers-0.6.0 · Test.QuickCheck.Checkers(Model a b, Model a' b') => Model (a, a') (b, b')Defined in checkers-0.6.0 · Test.QuickCheck.Checkers
Some handy testing types
Generate n arbitrary values
Produce n values from a generator
Nondeterministic choice: p1 .&. p2 picks randomly one of
p1 and p2 to test. If you test the property 100 times it
makes 100 random choices.