falsify-0.4.0: Property-based testing with internal integrated shrinking
Safe HaskellNone
LanguageHaskell2010

Test.Falsify.GenDefault

Description

Default generators

GenDefault (as well as Std) are exported from Test.Falsify, so you will only need to import this module if you want to make use of the deriving-via support.

Intended for unqualified import.

Synopsis

Documentation

class GenDefault tag a where Source #

Default generators

GenDefault is similar to QuickCheck's Arbitrary class along with some deriving via helpers. Unlike Arbitrary, GenDefault allows one to choose between sets of default generators with user-defined tags. See Test.Falsify.GenDefault.Std for the standard tag with a few useful instances.

Methods

genDefault :: Proxy tag -> Gen a Source #

Default generator for a

The type-level tag allows types a to have multiple defaults.

Instances

Instances details
GenDefault Std Int16 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Int32 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Int64 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Int8 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Word16 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Word32 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Word64 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Word8 Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std () Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen () Source #

GenDefault Std Bool Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Char Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Int Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std Word Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

GenDefault Std a => GenDefault Std (Maybe a) Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen (Maybe a) Source #

(Enum a, Bounded a) => GenDefault tag (ViaEnum a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaEnum a) Source #

(Integral a, FiniteBits a, Bounded a) => GenDefault tag (ViaIntegral a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaIntegral a) Source #

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

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen (Either a b) Source #

(GenDefault Std a, GenDefault Std b) => GenDefault Std (a, b) Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen (a, b) Source #

(Generic t, GGenDefault tag (Rep t)) => GenDefault tag (ViaGeneric tag t) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaGeneric tag t) Source #

GenDefault tag' a => GenDefault tag (ViaTag tag' a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaTag tag' a) Source #

(GenDefault Std a, GenDefault Std b, GenDefault Std c) => GenDefault Std (a, b, c) Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen (a, b, c) Source #

(IsList l, GenDefault tag (Item l), KnownNat mn, KnownNat mx) => GenDefault tag (ViaList l mn mx) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaList l mn mx) Source #

(IsString s, GenDefault tag Char, KnownNat mn, KnownNat mx) => GenDefault tag (ViaString s mn mx) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaString s mn mx) Source #

(GenDefault Std a, GenDefault Std b, GenDefault Std c, GenDefault Std d) => GenDefault Std (a, b, c, d) Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen (a, b, c, d) Source #

(GenDefault Std a, GenDefault Std b, GenDefault Std c, GenDefault Std d, GenDefault Std e) => GenDefault Std (a, b, c, d, e) Source # 
Instance details

Defined in Test.Falsify.GenDefault.Std

Methods

genDefault :: Proxy Std -> Gen (a, b, c, d, e) Source #

Deriving-via support

newtype ViaTag tag' a Source #

DerivingVia wrapper for types with default instances under other tags

Constructors

ViaTag 

Fields

Instances

Instances details
GenDefault tag' a => GenDefault tag (ViaTag tag' a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaTag tag' a) Source #

newtype ViaIntegral a Source #

DerivingVia wrapper for Integral types

Constructors

ViaIntegral 

Fields

Instances

Instances details
(Integral a, FiniteBits a, Bounded a) => GenDefault tag (ViaIntegral a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaIntegral a) Source #

newtype ViaEnum a Source #

DerivingVia wrapper for Enum types

Constructors

ViaEnum 

Fields

Instances

Instances details
(Enum a, Bounded a) => GenDefault tag (ViaEnum a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaEnum a) Source #

newtype ViaList l (mn :: Nat) (mx :: Nat) Source #

DerivingVia wrapper for FromList types

Constructors

ViaList 

Fields

Instances

Instances details
(IsList l, GenDefault tag (Item l), KnownNat mn, KnownNat mx) => GenDefault tag (ViaList l mn mx) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaList l mn mx) Source #

newtype ViaString s (mn :: Nat) (mx :: Nat) Source #

DerivingVia wrapper for FromString types

Constructors

ViaString 

Fields

Instances

Instances details
(IsString s, GenDefault tag Char, KnownNat mn, KnownNat mx) => GenDefault tag (ViaString s mn mx) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaString s mn mx) Source #

newtype ViaGeneric tag a Source #

DerivingVia wrapper for Generic types

Constructors

ViaGeneric 

Fields

Instances

Instances details
(Generic t, GGenDefault tag (Rep t)) => GenDefault tag (ViaGeneric tag t) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

genDefault :: Proxy tag -> Gen (ViaGeneric tag t) Source #

class GGenDefault tag (f :: Type -> Type) Source #

Generic generator construction

For use with ViaGeneric.

Instances

Instances details
GGenDefault tag (U1 :: Type -> Type) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

ggenDefault :: Proxy tag -> Gen (U1 a)

(GGenDefault tag a, GGenDefault tag b) => GGenDefault tag (a :*: b) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

ggenDefault :: Proxy tag -> Gen ((a :*: b) a0)

(GGenDefault tag a, GGenDefault tag b) => GGenDefault tag (a :+: b) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

ggenDefault :: Proxy tag -> Gen ((a :+: b) a0)

GenDefault tag a => GGenDefault tag (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

ggenDefault :: Proxy tag -> Gen (K1 i a a0)

GGenDefault tag a => GGenDefault tag (M1 i c a) Source # 
Instance details

Defined in Test.Falsify.GenDefault

Methods

ggenDefault :: Proxy tag -> Gen (M1 i c a a0)