giorgiosironi/eris
Property-based testing library for PHP. Generate random inputs, shrink failing cases, and find edge bugs automatically. Eris integrates with PHPUnit to make tests more robust and expressive, inspired by QuickCheck-style generators and combinators.
icomefromthenet/reverse-regex dependency. Only ilario-pierbattista/reverse-regex is now supported for the regex() generator (other forks are welcome).oneOf check failure with PSalmilario-pierbattista/reverse-regex as substitute peer dependency of icomefromthenet/reverse-regex.Eris\Generators contains all the generator constructors as static methods.Eris\Generators. They will be deprecated.shrink() to receive GeneratedValueOptions (#127).sample() (#128)BooleanGenerator::shrink() to return a GeneratedValueSingle (#131)[@eris-method](https://github.com/eris-method), [@eris-shrink](https://github.com/eris-shrink), [@eris-ratio](https://github.com/eris-ratio), [@eris-repeat](https://github.com/eris-repeat), [@eris-duration](https://github.com/eris-duration)Eris\Facade.suchThat() fails to generated good values when all those from generator size 0 are exclude (#100).Shrinker\Random.Generator::contains().multiple deterministic shrinking instead of random, being abandoned (#87).Listener::onAttempt()pos() and neg() can shrink to 0 (#96).minimumEvaluationRatio is now a method to be called, not a private field. Defaults to 0.5.GeneratedValue is now an interface and not a class.Listener::endPropertyVerification() with additional parameters $iterations and optional $exception.icomefromthenet/reverse-regex to solve warnings on PHP 7.bind Generator.Listener\collectFrequencies().hook(Listener\log($filename)).disableShrinking() option.limitTo() accepts a DateInterval too.rand, mt_rand, and a pure PHP Mersenne Twister.suchThat Generator accepts PHPUnit constraints like when().Generator\constant() utility function.frequency generator only accepts variadics args, not an array anymore.strictlyPos and strictlyNeg Generators as duplicated of pos and neg ones.andAlso, theCondition, andTheCondition, implies, imply aliases which no one uses. Added and for multiple preconditions.associative, map, subSet, suchThat Generators.limitTo().hook(Listener\collectFrequencies()).startPropertyVerification, newGeneration and endPropertyVerification events.GeneratedValue objects.forAll().choose() new Generator to get integers inside a fixed range.set new Generator.pos, nat, neg Generators.ERIS_ORIGINAL_INPUT=1.names and date (DateTime) new Generators.tuple Generator supports variadic arguments.when() clauses.forAll() accepts multiple arguments instead of an array.byte Generator.frequency and oneOf Generators that combine other Generators.sequence Generator for lists of constant type and variable size.char Generators with printableCharacter Antecedent.int, pos, neg and float Generators.regex Generator to build strings satisfying a regular expression.$this->shrinkingtimeLimit).bool, constant, elements, string, tuple Generators.forAll() and then() syntax.natural and vector Generators.when() for constraints.sample() and sampleShrink() for Generators.How can I help you explore Laravel packages today?