target-0.2.0.1: Generate test-suites from refinement types.

Safe HaskellNone
LanguageHaskell2010

Test.Target.Testable

Synopsis

Documentation

test :: Testable f => f -> SpecType -> Target Result Source

Test that a function inhabits the given refinement type by enumerating valid inputs and calling the function on the inputs.

class (AllHave Targetable (Args f), Targetable (Res f), AllHave Show (Args f)) => Testable f Source

A class of functions that Target can test. A function is Testable iff all of its component types are Targetable and all of its argument types are Showable.

You should never have to define a new Testable instance.

Minimal complete definition

queryArgs, decodeArgs, apply, mkExprs

Instances

(Targetable a, (~) [*] (Args a) ([] *), (~) * (Res a) a) => Testable a 
(Show a, Targetable a, Testable b) => Testable (a -> b)