Eris\Generator\BindGeneratorTest::testShrinksTheOuterGenerator PHP Method

testShrinksTheOuterGenerator() public method

    public function testShrinksTheOuterGenerator()
    {
        $generator = new BindGenerator(new ChooseGenerator(0, 5), function ($n) {
            return new ChooseGenerator($n, $n + 10);
        });
        $value = $generator->__invoke($this->size, $this->rand);
        for ($i = 0; $i < 20; $i++) {
            $this->assertInternalType('integer', $value->unbox());
            $this->assertTrue($generator->contains($value), "Element {$value} should be contained in the Generator");
            $value = $generator->shrink($value);
        }
        $this->assertLessThanOrEqual(5, $value->unbox());
    }