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 Params
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 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])(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])(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])(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])(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])(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])(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])(F: Applicative[M]): M[(A, B, C)]
Inherited from
ApplicativeSyntax
def forTupled[M[_], A, B](ma: M[A], mb: M[B])(F: Applicative[M]): M[(A, B)]
Inherited from
ApplicativeSyntax

Concrete fields