Skip to content

DrawnEngine ​

Rasuvaeff\PropertyTesting\Arbitrary\DrawnEngine

Class — Package: property-testing-core — Source — Version: v1.0.0-1-g88fdee2

Implements: Random\Engine

A Random\Engine whose output is drawn from the property's own replay tape: every generate() is one in-body Gen::draw() of eight bytes, so the random decisions of the code under test are recorded, replayed by position on shrink trials, and shrunk through the bytes' own tree toward "\0" — which Random\Randomizer maps to the lower end of a range and to near-identity shuffles.

Valid only inside a property run, like Gen::draw(): outside one the first generate() throws. Not seedable — the tape is the seed.

Methods ​

generate() ​

php
generate(): string

Eight bytes from the tape: one in-body draw of Gen::bytes().

Throws:

  • RuntimeException — Outside a property run, like \Rasuvaeff\PropertyTesting\Gen::draw().