Basic version importing reverse-regex library as a suggested dependency
Implementing Generator\Regex::contains()
Adding some other sample regexes
Setup RegexTest as example and in end2end
Consolidating end2end tests with all test methods being green
Generator\OneOf initial implementation
Generator\OneOf better failure detection in test
Generator\oneOf is a function not a generator
Remove duplication
Generator\frequency as generalization of Generator\oneOf
Introducing a TimeLimit of 30 seconds in shrinking... for now
Introducing ShrinkerFactory::random() to allow configuration of Shrinker through properties defined on Eris\TestTrait
Default shrinking time limit is infinite
Extracted TimeLimit interface
Added end2end test for ShrinkingTimeLimit
Improving error message for shrinking time limit reached.

[11:09:40][giorgio@Bipbip:~/code/eris]$ vendor/bin/phpunit
examples/ShrinkingTimeLimitTest.php
PHPUnit 4.4.0 by Sebastian Bergmann.

Configuration read from /home/giorgio/code/eris/phpunit.xml

E
Reproduce with:
ERIS_SEED=1419329381688373 vendor/bin/phpunit
examples/ShrinkingTimeLimitTest.php

Time: 3.04 seconds, Memory: 4.25Mb

There was 1 error:

1) ShrinkingTimeLimitTest::testLengthPreservation
RuntimeException: Eris has reached the time limit for shrinking, here it
is presenting the simplest failure case.
If you can afford to spend more time to find a simpler failing input,
increase $this->shrinkingTimeLimit or set it to null to remove it.

/home/giorgio/code/eris/src/Eris/Shrinker/Random.php:58
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:73
/home/giorgio/code/eris/src/Eris/Quantifier/Evaluation.php:48
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:75
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:91
/home/giorgio/code/eris/examples/ShrinkingTimeLimitTest.php:35
/home/giorgio/code/eris/examples/ShrinkingTimeLimitTest.php:35

Caused by
PHPUnit_Framework_ExpectationFailedException: Concatenating
'V${~w/A;OEBDnC>93BO5A$u2,nFJ_Ib7L^6EmW_>{#ajE~%XASmbVcsaS:-3cnI1N_U=76Z39<}]<#7]U%@-g5m;OzN3ivD9VyVm01"IM~(i#>GWBgd+{SFKNs^9j#QB{)0-92Uf1\P3ywj=_OG[$l'Q`diLg<ncD}o]1FEA#tT|l@:Loa)rO0D1t/\\KK@oJ1M[Wq{YgQWUpq#`T+S$:w4/(pkR=-Cg=oCsb@NKp'!ax#CM-uPGndVuUBIrNkZk\'
to
'@>0j/6jp/l4[y+-BxpwoG;::i'tUbr6#1El@[X2iFEFAOSbID[:kvT'`Zz7=nL@!q-@NeQ9,v^LG20pVj+Cb^IC9EYV4'u4x$SGh&_s{?ACQP4)<?K}}tA8:zmM#d`zg5CP:$E7CeZs6m|Q.HO,=pDVk2%nudj]y//52SKT9&IOsF!#nO/-ARb.cg{ZMf9GtG[(z(\5.&c#Lc%;43GTd+aIq^%@F=f<dCC_J!sX&WZR<^lOq5%W?f!2E&QkB9((\Kf(K[_Q4:%Oxp~j'$CFiCX0I*{jC$q~OY(z5fMI"QwyCweIz)neLGutQq`tuRtE-{@Bbmjd?c^a[E,WMz=xC3nt&Ojz#_@/\`Q?O<%m!bP[(\3UWPOzc>ohlZco;%~veP75l;$l}SI'0\[g-+cpISZ7/?'JC&A*VX?CrB1qtYw&6TmC_Q4)&n@5.G^QL!Z$YxFL<V?2187Fk&iKW}T]ltqy<QKhR'k,!3X<iwMy0d@zj+GB){!tprn-E;uvBa$Bs\^]T,Xcpx_[$'},$}!spo"7,v.MY2oNmN,BZd'L]e(`k'lo&mcu]e.i];87M(d;Vp]2Ud]4Jdt7ka'pOjg.Qtw/10F]7+xl{W~R<\efBZ|.=%}lney@[rOk#tI9~B'{x&N6a4{%nx2,}1wlur.Qe]=gRf"R*)N$/'
gives
'V${~w/A;OEBDnC>93BO5A$u2,nFJ_Ib7L^6EmW_>{#ajE~%XASmbVcsaS:-3cnI1N_U=76Z39<}]<#7]U%@-g5m;OzN3ivD9VyVm01"IM~(i#>GWBgd+{SFKNs^9j#QB{)0-92Uf1\P3ywj=_OG[$l'Q`diLg<ncD}o]1FEA#tT|l@:Loa)rO0D1t/\\KK@oJ1M[Wq{YgQWUpq#`T+S$:w4/(pkR=-Cg=oCsb@NKp'!ax#CM-uPGndVuUBIrNkZk\@>0j/6jp/l4[y+-BxpwoG;::i'tUbr6#1El@[X2iFEFAOSbID[:kvT'`Zz7=nL@!q-@NeQ9,v^LG20pVj+Cb^IC9EYV4'u4x$SGh&_s{?ACQP4)<?K}}tA8:zmM#d`zg5CP:$E7CeZs6m|Q.HO,=pDVk2%nudj]y//52SKT9&IOsF!#nO/-ARb.cg{ZMf9GtG[(z(\5.&c#Lc%;43GTd+aIq^%@F=f<dCC_J!sX&WZR<^lOq5%W?f!2E&QkB9((\Kf(K[_Q4:%Oxp~j'$CFiCX0I*{jC$q~OY(z5fMI"QwyCweIz)neLGutQq`tuRtE-{@Bbmjd?c^a[E,WMz=xC3nt&Ojz#_@/\`Q?O<%m!bP[(\3UWPOzc>ohlZco;%~veP75l;$l}SI'0\[g-+cpISZ7/?'JC&A*VX?CrB1qtYw&6TmC_Q4)&n@5.G^QL!Z$YxFL<V?2187Fk&iKW}T]ltqy<QKhR'k,!3X<iwMy0d@zj+GB){!tprn-E;uvBa$Bs\^]T,Xcpx_[$'},$}!spo"7,v.MY2oNmN,BZd'L]e(`k'lo&mcu]e.i];87M(d;Vp]2Ud]4Jdt7ka'pOjg.Qtw/10F]7+xl{W~R<\efBZ|.=%}lney@[rOk#tI9~B'{x&N6a4{%nx2,}1wlur.Qe]=gRf"R*)N$/ERROR'

Failed asserting that 934 matches expected 929.

/home/giorgio/code/eris/examples/ShrinkingTimeLimitTest.php:34
/home/giorgio/code/eris/src/Eris/Quantifier/Evaluation.php:46
/home/giorgio/code/eris/src/Eris/Shrinker/Random.php:55
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:73
/home/giorgio/code/eris/src/Eris/Quantifier/Evaluation.php:48
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:75
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:91
/home/giorgio/code/eris/examples/ShrinkingTimeLimitTest.php:35
/home/giorgio/code/eris/examples/ShrinkingTimeLimitTest.php:35

FAILURES!
Tests: 1, Assertions: 3, Errors: 1.
Fixing bug on Generator\seq() which prevents it from running at all
Add documentation to Generator\Regex
Merge branch 'regex_generator'
Merge branch 'shrinking_time_limit'