Package

hedgehog

Permalink

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

Type Members

  1. type Gen[A] = GenT[A]

    Permalink
  2. trait GenTOps extends MonadGenOps[Gen]

    Permalink
  3. type MonadGen[M[_]] = MonadGenT[M]

    Permalink
  4. trait MonadGenOps[M[_]] extends AnyRef

    Permalink
  5. type Property = PropertyT[Result]

    Permalink
  6. type PropertyR[A] = hedgehog.core.PropertyR[A]

    Permalink
  7. trait PropertyTOps extends PropertyTReporting

    Permalink
  8. case class Range[A](origin: A, bounds: (Size) ⇒ (A, A)) extends Product with Serializable

    Permalink

    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

    Permalink
  10. sealed abstract case class Size extends Product with Serializable

    Permalink

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

  11. implicit class Syntax[A] extends AnyRef

    Permalink

Value Members

  1. object Gen extends GenTOps with ByteOps with CharacterOps with StringOps with Serializable

    Permalink

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

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

    Permalink
  3. object Property extends PropertyTOps with Serializable

    Permalink
  4. val PropertyR: hedgehog.core.PropertyR.type

    Permalink
  5. object Range extends Serializable

    Permalink
  6. val Result: hedgehog.core.Result.type

    Permalink
  7. object Size extends Serializable

    Permalink
  8. package core

    Permalink
  9. package extra

    Permalink
  10. 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)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  11. 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)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  12. 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)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  13. 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)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  14. 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)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  15. 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)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  16. def forTupled[M[_], A, B, C](ma: M[A], mb: M[B], mc: M[C])(implicit F: Applicative[M]): M[(A, B, C)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  17. def forTupled[M[_], A, B](ma: M[A], mb: M[B])(implicit F: Applicative[M]): M[(A, B)]

    Permalink
    Definition Classes
    ApplicativeSyntax
  18. package predef

    Permalink

    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.

  19. def propertyT: PropertyTOps

    Permalink
  20. package random

    Permalink
  21. package state

    Permalink

Inherited from ApplicativeSyntax

Inherited from AnyRef

Inherited from Any

Ungrouped