public function testRespectsGenerationSize()
{
$generator = new SequenceGenerator($this->singleElementGenerator);
$countLessThanSize = 0;
$countEqualToSize = 0;
for ($size = 0; $size < 400; $size++) {
$sequenceSize = count($generator($size, $this->rand)->unbox());
if ($sequenceSize < $size) {
$countLessThanSize++;
}
if ($sequenceSize === $size) {
$countEqualToSize++;
}
}
$this->assertTrue($countLessThanSize > 0, "Sequence generator does not generate sequences less than the size.");
$this->assertTrue($countLessThanSize + $countEqualToSize === 400, "Sequence generator has generated sequences greater than the size.");
}