leancheck-0.7.7: Enumerative property-based testing

Copyright(c) 2015-2018 Rudy Matela
License3-Clause BSD (see the file LICENSE)
MaintainerRudy Matela <rudy@matela.com.br>
Safe HaskellNone
LanguageHaskell2010

Test.LeanCheck.Function.CoListable

Description

This module is part of LeanCheck, a simple enumerative property-based testing library.

This module exports functions to define a Listable instance for function enumeration by means of a CoListable typeclass. This is very similar to the coseries enumeration of SmallCheck.

This module does not currently work, it it just a sketch and a stub.

Synopsis

Documentation

class CoListable a where Source #

This _does not currently work_. Its just a sketch and a stub.

Generation of Listable functions using cotiers. This is similar to SmallCheck's coseries.

The current implementation generates repetitions.

Minimal complete definition

cotiers

Methods

cotiers :: [[b]] -> [[a -> b]] Source #

Instances
CoListable Bool Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[Bool -> b]] Source #

CoListable Int Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[Int -> b]] Source #

CoListable () Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[() -> b]] Source #

CoListable Nat3 Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[Nat3 -> b]] Source #

CoListable Nat2 Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[Nat2 -> b]] Source #

CoListable Nat Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[Nat -> b]] Source #

CoListable a => CoListable [a] Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[[a] -> b]] Source #

CoListable a => CoListable (Maybe a) Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b]] -> [[Maybe a -> b]] Source #

(CoListable a, CoListable b) => CoListable (Either a b) Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b0]] -> [[Either a b -> b0]] Source #

(CoListable a, CoListable b) => CoListable (a, b) Source # 
Instance details

Defined in Test.LeanCheck.Function.CoListable

Methods

cotiers :: [[b0]] -> [[(a, b) -> b0]] Source #