Explicit examples
Fixed inputs pin a found bug as a permanent case that runs on every invocation, alongside the random ones. Declare a <testMethod>Examples method (or name one via #[Property(examples: 'method')]; any callable works too — [Provider::class, 'method'], an invokable object) returning positional argument tuples; each runs before the random inputs and is reported verbatim (not shrunk — it is already the minimal case you pinned) via ExampleViolationException.
php
// #[Test] goes on the class; every public void method is then a test.
#[Property]
public function additionCommutes(int $a, int $b): void
{
Assert::same($a + $b, $b + $a);
}
/** @return array<string, ArbitraryInterface> */
public static function additionCommutesGenerators(): array
{
return ['a' => Gen::int(), 'b' => Gen::int()];
}
/** @return list<array{int, int}> */
public static function additionCommutesExamples(): array
{
return [[0, 0], [PHP_INT_MAX, 1]]; // regressions that must always run
}