Packages

p

hedgehog

package hedgehog

Linear Supertypes
ApplicativeSyntax, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. hedgehog
  2. ApplicativeSyntax
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package core
  2. package examples
  3. package extra
  4. package minitest
  5. package munit
  6. package predef

    We have our own FP predef for 2 reasons.

    We have our own FP predef for 2 reasons.

    1. The obvious political reasons. I don't think there are any really good reasons to need more than one implementation of this library (if we do our job correctly).

    Probably more importantly:

    2. Library dependencies _do_ have a cost. Especially in the JVM world where we insist of relying on binary compatibility.

  7. package random
  8. package runner
  9. package state

Type Members

  1. type Gen[A] = GenT[A]
  2. trait GenTOps extends MonadGenOps[Gen]
  3. type MonadGen[M[_]] = MonadGenT[M]
  4. trait MonadGenOps[M[_]] extends AnyRef
  5. type Property = PropertyT[Result]
  6. type PropertyR[A] = hedgehog.core.PropertyR[A]
  7. trait PropertyTOps extends PropertyTReporting
  8. case class Range[A](origin: A, bounds: (Size) => (A, A)) extends Product with Serializable

    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'.

    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.

    bounds

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

  9. type Result = hedgehog.core.Result
  10. sealed abstract case class Size extends Product with Serializable

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

  11. implicit final class Syntax[A] extends AnyVal

Value Members

  1. def MonadGen[M[_]]: MonadGenOps[M]
  2. val PropertyR: hedgehog.core.PropertyR.type
  3. val Result: hedgehog.core.Result.type
  4. 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)]
    Definition Classes
    ApplicativeSyntax
  5. 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)]
    Definition Classes
    ApplicativeSyntax
  6. 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)]
    Definition Classes
    ApplicativeSyntax
  7. 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)]
    Definition Classes
    ApplicativeSyntax
  8. 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)]
    Definition Classes
    ApplicativeSyntax
  9. 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)]
    Definition Classes
    ApplicativeSyntax
  10. def forTupled[M[_], A, B, C](ma: M[A], mb: M[B], mc: M[C])(implicit F: Applicative[M]): M[(A, B, C)]
    Definition Classes
    ApplicativeSyntax
  11. def forTupled[M[_], A, B](ma: M[A], mb: M[B])(implicit F: Applicative[M]): M[(A, B)]
    Definition Classes
    ApplicativeSyntax
  12. def propertyT: PropertyTOps
  13. 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.

  14. object Property extends PropertyTOps
  15. object Range extends Serializable
  16. object Size extends Serializable

Inherited from ApplicativeSyntax

Inherited from AnyRef

Inherited from Any

Ungrouped