Packages

package core

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait Cover extends AnyRef

    Whether a test is covered by a classifier, and therefore belongs to a Class

  2. case class CoverCount(toInt: Int) extends Product with Serializable

    The total number of tests which are covered by a classifier.

  3. case class CoverPercentage(toDouble: Double) extends Product with Serializable

    The relative number of tests which are covered by a classifier.

  4. case class Coverage[A](labels: Map[LabelName, Label[A]]) extends Product with Serializable
  5. case class DiscardCount(value: Int) extends Product with Serializable

    The number of tests a property had to discard.

  6. case class Error(value: Exception) extends Log with Product with Serializable
  7. case class Examples(examples: Map[LabelName, List[Log]]) extends Product with Serializable
  8. case class Failed(shrinks: ShrinkCount, log: List[Log]) extends Status with Product with Serializable
  9. case class ForAll(name: Name, value: String) extends Log with Product with Serializable
  10. abstract class GenImplicits1 extends AnyRef
  11. abstract class GenImplicits2 extends GenImplicits1
  12. case class GenT[A](run: (Size, Seed) => Tree[(Seed, Option[A])]) extends Product with Serializable

    Generator for random values of A.

  13. case class Info(value: String) extends Log with Product with Serializable
  14. case class Journal(logs: List[Log], coverage: Coverage[Cover]) extends Product with Serializable

    A record containing the details of a test run.

  15. case class Label[A](name: LabelName, minimum: CoverPercentage, annotation: A) extends Product with Serializable

    The extent to which a test is covered by a classifier.

    The extent to which a test is covered by a classifier.

    _When a classifier's coverage does not exceed the required minimum, the test will be failed._

  16. case class LabelName(render: String) extends Product with Serializable

    The name of a classifier.

  17. sealed trait Log extends AnyRef
  18. trait MonadGenT[M[_]] extends AnyRef
  19. case class Name(value: String) extends Product with Serializable
  20. trait NumericPlus[A] extends AnyRef
  21. case class PropertyConfig(testLimit: SuccessCount, discardLimit: DiscardCount, shrinkLimit: ShrinkLimit) extends Product with Serializable
  22. class PropertyR[A] extends AnyRef

    A slightly different way to express a property, with the added benefit of exposing a pure "test".

    A slightly different way to express a property, with the added benefit of exposing a pure "test". This enables running the test with specific examples, either as a "golden" test or from the shell. Or both. The trade-off is that the A needs to be exposed/declared, and it's likely to be some horrible multi-value tuple.

  23. case class PropertyT[A](run: GenT[(Journal, Option[A])]) extends Product with Serializable
  24. trait PropertyTReporting extends AnyRef
  25. case class Report(tests: SuccessCount, discards: DiscardCount, coverage: Coverage[CoverCount], examples: Examples, status: Status) extends Product with Serializable
  26. sealed trait Result extends AnyRef
  27. case class Seed(seed: MersenneTwister64) extends Product with Serializable
  28. case class ShrinkCount(value: Int) extends Product with Serializable

    The numbers of times a property was able to shrink after a failing test.

  29. case class ShrinkLimit(value: Int) extends Product with Serializable

    The number of shrinks to try before giving up on shrinking.

  30. final class SourceLocation extends Log

    The location in the source file of the assertion which failed.

    The location in the source file of the assertion which failed.

    Equality deliberately ignores the SourcePos it carries, so any two SourceLocation values are equal. A location is provenance for a failure rather than part of the logical outcome, and making it significant would mean that two otherwise identical Results written on different lines compared unequal.

  31. final case class SourcePos(relativePath: String, fileName: String, line: Int) extends Product with Serializable

    The location in the source file at which an assertion was written.

    The location in the source file at which an assertion was written.

    An instance is materialised by the compiler at the point where it is required, so a Result constructor which takes one implicitly reports the caller's location rather than a location inside Hedgehog itself.

    No absolute path is stored. An absolute path is baked into the compiled class file as a string constant, so the same source compiled from two checkout directories produces two different class files. That defeats a shared build cache, which would otherwise hand one machine another machine's paths on a legitimate cache hit, and it defeats distributed test execution and reproducible builds. It also leaks the publisher's filesystem into a published artefact.

    relativePath

    the path of the source file with the compiler's working directory stripped, which under sbt is the build root, and the path exactly as captured when it does not sit underneath that directory

    fileName

    the simple name of the source file

    line

    the 1-based line number

  32. sealed trait Status extends AnyRef

    The status of a property test run.

    The status of a property test run.

    In the case of a failure it provides the seed used for the test, the number of shrinks, and the execution log.

  33. case class SuccessCount(value: Int) extends Product with Serializable

    The number of tests a property ran successfully.

  34. case class Tree[A](value: A, children: Identity[LazyList[Tree[A]]]) extends Product with Serializable

    NOTE: This differs from the Haskell version by not having an effect on the Node for performance reasons.

    NOTE: This differs from the Haskell version by not having an effect on the Node for performance reasons. See haskell-difference.md for more information.

    FIXME The LazyList here is critical to avoid running extra tests during shrinking. The alternative might be something like: https://github.com/hedgehogqa/scala-hedgehog/compare/topic/issue-66-lazy-shrinking

  35. abstract class TreeImplicits1 extends AnyRef
  36. abstract class TreeImplicits2 extends TreeImplicits1
  37. trait XCompat extends AnyRef

Value Members

  1. object Cover
  2. object CoverCount extends Serializable
  3. object CoverPercentage extends Serializable
  4. object Coverage extends Serializable
  5. object Examples extends Serializable
  6. case object GaveUp extends Status with Product with Serializable
  7. object GenT extends GenImplicits2 with Serializable
  8. object Journal extends Serializable
  9. object Label extends Serializable
  10. object LabelName extends Serializable
  11. object Log
  12. object MonadGenT
  13. object Name extends Serializable
  14. object NumericPlus
  15. case object OK extends Status with Product with Serializable
  16. object PropertyConfig extends Serializable
  17. object PropertyR
  18. object PropertyT extends Serializable
  19. object Result
  20. object Seed extends Serializable
  21. object Shrink extends XCompat
  22. object SourceLocation
  23. object SourcePos extends Serializable
  24. object SourcePosMacro
  25. object Status
  26. object SuccessCount extends Serializable
  27. object Tree extends TreeImplicits2 with Serializable

Ungrouped