SupplyToSyntaxSkeletalImplementation

com.sageserpent.americium.generation.SupplyToSyntaxSkeletalImplementation
See theSupplyToSyntaxSkeletalImplementation companion object
trait SupplyToSyntaxSkeletalImplementation[Case] extends SupplyToSyntax[Case], SupplyToSyntax[Case]

Attributes

Companion
object
Graph
Supertypes
trait SupplyToSyntax[Case]
trait SupplyToSyntax[Case]
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

case class CaseData(caze: Case, decisionStagesInReverseOrder: DecisionStagesInReverseOrder, cost: BigInt)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class InternedDecisionStages(index: Int, size: Int) extends DecisionStagesInReverseOrder

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
final case class NonEmptyDecisionStages(latestDecision: Decision, previousDecisions: DecisionStagesInReverseOrder)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

type PullOfCases = Pull[SyncIO, TestIntegrationContext[Case], Unit]
type ShrinkageIsImproving = ((DecisionStagesInReverseOrder, BigInt)) => Boolean
type StreamedCases = Stream[SyncIO, TestIntegrationContext[Case]]

Value members

Abstract methods

override def withComplexityLimit(complexityLimit: Int): SupplyToSyntax[Case] & SupplyToSyntax[Case]

The maximum permitted complexity when generating a case.

The maximum permitted complexity when generating a case.

Attributes

Note

Complexity is something associated with the production of an instance of Case when a Trials is supplied to some test consumer. It ranges from one up to (and including) the complexityLimit and captures some sense of the case being more elaborately constructed as it increases - as an example, the use of flat-mapping to combine inputs from multiple trials instances drives the complexity up for each flatmap stage. In practice, this results in larger collection instances having greater complexity. Deeply recursive trials also result in high complexity.

Definition Classes
SupplyToSyntax -> SupplyToSyntax
override def withSeed(seed: Long): SupplyToSyntax[Case] & SupplyToSyntax[Case]

Attributes

Definition Classes
SupplyToSyntax -> SupplyToSyntax
override def withShrinkageAttemptsLimit(shrinkageAttemptsLimit: Int): SupplyToSyntax[Case] & SupplyToSyntax[Case]

The maximum number of shrinkage attempts when shrinking a case. Setting this to zero disables shrinkage and will thus yield the original failing case.

The maximum number of shrinkage attempts when shrinking a case. Setting this to zero disables shrinkage and will thus yield the original failing case.

Attributes

Definition Classes
SupplyToSyntax -> SupplyToSyntax

Concrete methods

override def asIterator(): Iterator[Case] & Iterator[Case]

Attributes

Definition Classes
SupplyToSyntax -> SupplyToSyntax
override def supplyTo(consumer: Consumer[Case]): Unit

Attributes

Definition Classes
SupplyToSyntax
override def supplyTo(consumer: Case => Unit): Unit

Consume trial cases until either there are no more or an exception is thrown by consumer. If an exception is thrown, attempts will be made to shrink the trial case that caused the exception to a simpler case that throws an exception - the specific kind of exception isn't necessarily the same between the first exceptional case and the final simplified one. The exception from the simplified case (or the original exceptional case if it could not be simplified) is wrapped in an instance of TrialException which also contains the Case that provoked the exception.

Consume trial cases until either there are no more or an exception is thrown by consumer. If an exception is thrown, attempts will be made to shrink the trial case that caused the exception to a simpler case that throws an exception - the specific kind of exception isn't necessarily the same between the first exceptional case and the final simplified one. The exception from the simplified case (or the original exceptional case if it could not be simplified) is wrapped in an instance of TrialException which also contains the Case that provoked the exception.

Value parameters

consumer

An operation that consumes a Case, and may throw an exception.

Attributes

Definition Classes
override def testIntegrationContexts(): Iterator[TestIntegrationContext[Case]] & Iterator[TestIntegrationContext[Case]]

Attributes

Definition Classes
SupplyToSyntax -> SupplyToSyntax

Inherited methods

def withShrinkageStop(shrinkageStop: () => Case): SupplyToSyntax[Case]

Attributes

See also
Inherited from:
SupplyToSyntax
def withShrinkageStop(x$0: ShrinkageStop[_ >: Case <: <FromJavaObject>]): SupplyToSyntax[Case]

Attributes

Inherited from:
SupplyToSyntax