public function testScalesGenerationSizeToTouchAllPossibleSubsets()
{
$maxSize = ForAll::DEFAULT_MAX_SIZE;
$subsetSizes = [];
for ($size = 0; $size < $maxSize; $size++) {
$subsetSizes[] = count($this->generator->__invoke($size, $this->rand)->unbox());
}
$subsetSizeFrequencies = array_count_values($subsetSizes);
// notice the full universe is very rarely generated
// hence its presence is not asserted here
for ($subsetSize = 0; $subsetSize < count($this->universe); $subsetSize++) {
$this->assertGreaterThan(0, $subsetSizeFrequencies[$subsetSize], "There were no subsets generated of size {$subsetSize}");
}
}