public function testShrinksLinearlyTowardsZero()
{
/* Not a good shrinking policy, it should start to shrink from 0 and move
* towards the upper size limit.
* To be fixed in the next weeks.
*/
$generator = new IntegerGenerator();
$value = $generator($this->size, $this->rand);
for ($i = 0; $i < 20; $i++) {
$newValue = $generator->shrink($value);
$this->assertTrue(in_array(abs($value->unbox() - $newValue->unbox()), [0, 1]));
$value = $newValue;
}
$this->assertSame(0, $value->unbox());
}