Eris\Generator\SuchThatGeneratorTest::testShrinksTheOriginalInput PHP Method

testShrinksTheOriginalInput() public method

    public function testShrinksTheOriginalInput()
    {
        $generator = new SuchThatGenerator(function ($n) {
            return $n % 2 == 0;
        }, new ChooseGenerator(0, 100));
        $element = $generator->__invoke($this->size, $this->rand);
        for ($i = 0; $i < 100; $i++) {
            $element = $generator->shrink($element);
            $this->assertTrue($generator->contains($element), "Every shrunk element should still be contained: " . var_export($element, true));
            $this->assertTrue($element->unbox() % 2 === 0, "Element should still be filtered while shrinking: " . var_export($element, true));
        }
    }