CharsetStringArbitrary
Rasuvaeff\PropertyTesting\Arbitrary\CharsetStringArbitrary
Class — Package: property-testing-core — Source — Version: v0.1.0-12-g86ead85
Implements: ArbitraryInterface
Generates strings whose characters come from a fixed alphabet, and shrinks them by length toward the empty string, then character-by-character toward the first alphabet character (list simpler characters first).
The alphabet is split per Unicode codepoint, so multibyte alphabets work; duplicate characters are collapsed. Length is chosen uniformly within an inclusive range.
Constructor
__construct(
string $alphabet,
int $minLength = 0,
int $maxLength = 100,
)| Parameter | Type | Default | Description |
|---|---|---|---|
$alphabet | string | required | |
$minLength | int | 0 | |
$maxLength | int | 100 |
Methods
generate()
generate(Random $random): ShrinkableProduce one random value from this arbitrary's space, together with its shrink tree. Candidates must be ordered most aggressive first (typically toward a zero/empty/identity element) and every branch of the tree must be finite, so shrinking terminates.
Documentation inherited from ArbitraryInterface.