leancheck-0.6.4: Cholesterol-free property-based testing

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

Test.LeanCheck.Function.FunListable

Contents

Description

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

This module exports a Listable instance for function enumeration by means of a FunListable typeclass (similar to FunListable).

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

Documentation

sndArgTypeOf :: b -> (a -> b -> c) -> b Source #

(\+:/) :: [[a]] -> [[a]] -> [[a]] infixr 9 Source #

class FunListable a where Source #

Minimal complete definition

funtiers

Methods

validResults :: a -> [b] -> Bool Source #

invalidResults :: a -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> a -> b)]] Source #

Instances

FunListable Bool Source # 

Methods

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

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

funtiers :: [[(Int, [b] -> Bool -> b)]] Source #

FunListable Int Source # 

Methods

validResults :: Int -> [b] -> Bool Source #

invalidResults :: Int -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> Int -> b)]] Source #

FunListable () Source # 

Methods

validResults :: () -> [b] -> Bool Source #

invalidResults :: () -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> () -> b)]] Source #

FunListable Nat3 Source # 

Methods

validResults :: Nat3 -> [b] -> Bool Source #

invalidResults :: Nat3 -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> Nat3 -> b)]] Source #

FunListable Nat2 Source # 

Methods

validResults :: Nat2 -> [b] -> Bool Source #

invalidResults :: Nat2 -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> Nat2 -> b)]] Source #

FunListable Nat Source # 

Methods

validResults :: Nat -> [b] -> Bool Source #

invalidResults :: Nat -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> Nat -> b)]] Source #

FunListable a => FunListable [a] Source # 

Methods

validResults :: [a] -> [b] -> Bool Source #

invalidResults :: [a] -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> [a] -> b)]] Source #

FunListable a => FunListable (Maybe a) Source # 

Methods

validResults :: Maybe a -> [b] -> Bool Source #

invalidResults :: Maybe a -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> Maybe a -> b)]] Source #

(FunListable a, FunListable b) => FunListable (Either a b) Source # 

Methods

validResults :: Either a b -> [b] -> Bool Source #

invalidResults :: Either a b -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> Either a b -> b)]] Source #

(FunListable a, FunListable b) => FunListable (a, b) Source # 

Methods

validResults :: (a, b) -> [b] -> Bool Source #

invalidResults :: (a, b) -> [b] -> Bool Source #

funtiers :: [[(Int, [b] -> (a, b) -> b)]] Source #

toMatrix :: Int -> [a] -> [[a]] Source #

Orphan instances

(FunListable a, Listable b) => Listable (a -> b) Source # 

Methods

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

list :: [a -> b] Source #