Skip to content

API reference

Generated by reflection (docs/scripts/reflect-api.php) over all three packages' src/, not written by hand — every signature, parameter and default value here is read straight from the code, not transcribed from it. Only @api-annotated types get a page; @internal classes are implementation detail and stay undocumented on purpose.

Core

TypeKindSummary
ArrayArbitraryclassGenerates lists whose elements come from a delegate arbitrary and shrinks them by length toward…
BoolArbitraryclassGenerates booleans.
BytesArbitraryclassGenerates raw byte strings (every byte 0..255, not printable text) and shrinks them by length…
CharsetStringArbitraryclassGenerates strings whose characters come from a fixed alphabet, and shrinks them by length toward…
CommandSequenceArbitraryclassGenerates valid Command sequences for stateful / model-based testing and shrinks them by dropping…
ConstantArbitraryclassAlways produces the same fixed value.
DateTimeArbitraryclassGenerates UTC DateTimeImmutable values with a Unix timestamp drawn uniformly from an inclusive…
DictionaryArbitraryclassGenerates associative arrays (maps) whose keys come from a key arbitrary and whose values come…
FilteredArbitraryclassGenerates values from a delegate arbitrary, retrying until a predicate holds.
FlatMappedArbitraryclassDependent generators (monadic bind): each value produced by the source arbitrary is fed into a…
FloatArbitraryclassGenerates floats in the half-open range [min, max).
FrequencyArbitraryclassWeighted choice among several arbitraries: each [weight, arbitrary] pair is picked with…
IntArbitraryclassGenerates integers within an inclusive range and shrinks them toward zero (clamped into the range,…
MappedArbitraryclassTransforms each value produced by a delegate arbitrary through a pure function.
NullableArbitraryclassWraps another arbitrary and additionally yields null with roughly even odds.
OneOfArbitraryclassPicks a value uniformly at random from a fixed set.
RecordArbitraryclassFixed-shape associative array: produces a map with one value per named field, each drawn from that…
StringArbitraryclassGenerates random strings and shrinks them by length toward the empty string, then…
SubsetArbitraryclassGenerates subsets of a fixed ordered set: every result is a list of distinct elements of the…
TupleArbitraryclassFixed-arity tuple: produces a list with one value per element arbitrary, in order.
UniqueArrayArbitraryclassGenerates lists of pairwise-distinct elements (strict comparison) drawn from a delegate arbitrary,…
UuidArbitraryclassGenerates RFC 4122 version 4 (random) UUID strings in the canonical…
ArbitraryInterfaceinterfaceDescribes a space of random values with integrated shrinking.
AssumeclassDiscard a property run when a precondition does not hold.
ClassifyclassRecords distribution labels for the current property run so the runner can report how often each…
CounterExampleclassMinimal failing input for a property, captured at falsification time.
CoverageViolationExceptionclassThrown (as the failure of an otherwise passing property) when a coverage requirement registered…
DeadlineExceededExceptionclassThrown (as the failure of a property) when a single run's body takes longer than the…
CorpusPrunedclassA recorded entry no longer fails and was removed from the corpus.
CorpusReplayedclassA recorded regression entry is about to replay before the random phase.
CorpusStoredclassA falsification's minimised counterexample was recorded in the corpus.
ExampleFinishedclassAn explicit example finished.
ExampleStartedclassAn explicit example is about to execute, before the random phase.
PropertyEventinterfaceMarker for the engine's lifecycle events.
PropertyFinishedclassThe property finished.
PropertyStartedclassThe property is about to run: examples first, then corpus replay, then the random phase.
RunDiscardedclassA random-phase attempt was discarded via Assume — neither a failure nor a successful check.
RunFailedclassA random-phase attempt falsified the property; shrinking follows.
RunPassedclassA random-phase attempt completed without failing.
RunStartedclassA random-phase attempt is about to execute the property body.
ShrinkAcceptedclassA shrink candidate still failed and became the new current counterexample.
ShrinkTriedclassOne shrink trial executed the body with a smaller candidate for a single parameter (or draw#N
ExampleViolationExceptionclassReported when an explicit example (a fixed input declared via the property's Examples method)…
GaveUpExceptionclassThrown (as the failure of a property) when discarded inputs exceed the configured budget before…
GenclassFacade with static factories for the built-in ArbitraryInterfaces.
GenerationExhaustedclassThrown when a bounded-attempt generator cannot produce a value that satisfies its constraint…
PropertyListenerinterfaceObserver of a property run's lifecycle events.
PropertyViolationExceptionclassReported when a property is falsified.
RandomclassSeedable, deterministic pseudo-random number generator.
RegressionViolationExceptionclassReported when a recorded regression fails again: the minimised input of an earlier failure,…
CallableTrialExecutorclassThe standalone executor: a plain callback is the property body.
ClockinterfaceMonotonic time source behind the per-run deadline and the phase budget.
CorpusinterfacePersistent store of past falsifications, replayed before the random phase.
CorpusEntryclassOne recorded regression in a property's corpus: either the minimised failing input itself (a…
CoverageFailedclassEvery run passed, but a Classify::cover() requirement was under-covered — the pass is…
DeadlineExceededclassA single run (random, example or regression replay) took longer than the per-run deadline.
ExampleFailedclassAn explicit example failed before the random phase.
FalsifiedclassA random run falsified the property; the counterexample is shrunk.
FilesystemCorpusclassOpt-in on-disk corpus of a property's past failures, replayed before the random phase so a fixed…
GaveUpclassDiscards exceeded the budget before the requested checks completed.
GenerationFailedclassA generator could not produce a valid value (e.g.
MonotonicClockclass
PassedclassEvery check completed and every coverage requirement held.
PropertyConfigclassResolved knobs of one property run.
PropertyDefinitionclassOne property, fully resolved for the engine: no attribute, no reflection, no environment.
PropertyResultinterfaceStructured outcome of a property run.
PropertyRunnerclassThe framework-agnostic property engine: runs the explicit examples, replays the regression corpus,…
RegressionFailedclassA recorded regression (a values corpus entry) failed again on replay.
RunStatisticsclassCounters of a random phase, carried by the results whose reporting needs them: the classification…
TimeBudgetExceededclassThe whole random phase overran its wall-clock budget before the requested checks completed.
TrialExecutorinterfaceExecutes the property body once with the given arguments.
TrialOutcomeclassResult of executing the property body once, in the engine's terms.
ShrinkableclassA generated value together with a lazy tree of progressively "smaller" variants of it — the unit…
CommandinterfaceA single operation in a stateful / model-based test.
CommandSequenceclassA generated, valid-by-construction sequence of Commands together with the initial model it was…
PostconditionViolationclassThrown by StateMachine::check() when a command's Command::postCondition() returns false.
StateMachineclassDrives a CommandSequence against a fresh system under test for stateful / model-based testing.
TimeBudgetExceededExceptionclassThrown (as the failure of a property) when the random phase's wall-clock time exceeds the…
ValueRendererclassRenders an arbitrary value into a compact, human-readable string for counterexample reporting.

Testo adapter

TypeKindSummary
PropertyclassMarks a test method as a property: the PropertyInterceptor takes over, generating random arguments…
PropertyInterceptorclassThe Testo adapter for a Property: resolves the test framework's conventions — the attribute, the…

PHPUnit adapter

TypeKindSummary
PropertyCheckclassFluent builder mapping the engine's structured PropertyResult onto PHPUnit: a pass counts one…