hedgehog

package hedgehog

Type members

Classlikes

object Gen extends GenTOps with ByteOps with CharacterOps with StringOps

This is purely to make consuming this library a nicer experience, mainly due to Scala's type inference problems and higher kinds.

This is purely to make consuming this library a nicer experience, mainly due to Scala's type inference problems and higher kinds.

trait GenTOps extends MonadGenOps[Gen]
trait MonadGenOps[M[_]]
object Property extends PropertyTOps
case class Range[A](origin: A, bounds: Size => (A, A))

A range describes the bounds of a number to generate, which may or may not be dependent on a 'Size'.

A range describes the bounds of a number to generate, which may or may not be dependent on a 'Size'.

Value parameters:
bounds

Get the extents of a range, for a given size.

origin

Get the origin of a range. This might be the mid-point or the lower bound, depending on what the range represents. The 'bounds' of a range are scaled around this value when using the 'linear' family of combinators. When using a 'Range' to generate numbers, the shrinking function will shrink towards the origin.

Companion:
object
object Range
Companion:
class
sealed abstract case class Size

Tests are parameterized by the size of the randomly-generated data, the meaning of which depends on the particular generator used.

Tests are parameterized by the size of the randomly-generated data, the meaning of which depends on the particular generator used.

Companion:
object
object Size
Companion:
class
final implicit class Syntax[A](a1: A) extends AnyVal

Types

type Gen[A] = GenT[A]
type MonadGen[M[_]] = MonadGenT[M]
type PropertyR[A] = PropertyR[A]
type Result = Result

Value members

Concrete methods

def MonadGen[M[_]]: MonadGenOps[M]

Inherited methods

def forTupled[M[_], A, B, C, D, E, F, G, H, I](ma: M[A], mb: M[B], mc: M[C], md: M[D], me: M[E], mf: M[F], mg: M[G], mh: M[H], mi: M[I])(implicit F: Applicative[M]): M[(A, B, C, D, E, F, G, H, I)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B, C, D, E, F, G, H](ma: M[A], mb: M[B], mc: M[C], md: M[D], me: M[E], mf: M[F], mg: M[G], mh: M[H])(implicit F: Applicative[M]): M[(A, B, C, D, E, F, G, H)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B, C, D, E, F, G](ma: M[A], mb: M[B], mc: M[C], md: M[D], me: M[E], mf: M[F], mg: M[G])(implicit F: Applicative[M]): M[(A, B, C, D, E, F, G)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B, C, D, E, F](ma: M[A], mb: M[B], mc: M[C], md: M[D], me: M[E], mf: M[F])(implicit F: Applicative[M]): M[(A, B, C, D, E, F)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B, C, D, E](ma: M[A], mb: M[B], mc: M[C], md: M[D], me: M[E])(implicit F: Applicative[M]): M[(A, B, C, D, E)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B, C, D](ma: M[A], mb: M[B], mc: M[C], md: M[D])(implicit F: Applicative[M]): M[(A, B, C, D)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B, C](ma: M[A], mb: M[B], mc: M[C])(implicit F: Applicative[M]): M[(A, B, C)]
Inherited from:
ApplicativeSyntax
def forTupled[M[_], A, B](ma: M[A], mb: M[B])(implicit F: Applicative[M]): M[(A, B)]
Inherited from:
ApplicativeSyntax

Concrete fields

val Result: Result.type

Implicits

Implicits

final implicit def Syntax[A](a1: A): Syntax[A]