falsify-0.2.0: Property-based testing with internal integrated shrinking
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Falsify.GenDefault

Description

This module defines something similar to QuickCheck's Arbitrary class along with some DerivingVia helpers. Our version, GenDefault, allows one to choose between sets of default generators with a user-defined tag. See Std for the standard tag with a few useful instances.

Synopsis

Documentation

class GenDefault tag a where Source #

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 #

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 #