示例#1
0
 /** @dataProvider valueDataProvider */
 public function testSomeGeneratorCreators($value, $otherValue = null)
 {
     $this->given($otherValue = $otherValue ?? $value, $creator = function ($limit, $value) {
         while ($limit-- > 0) {
             yield;
         }
         return (function () use($value) {
             yield;
             return $value;
         })();
     })->then->object($generator = testedClass::some(1, $creator(5, $value), $creator(3, $otherValue)))->isInstanceOf(\generator::class)->variable(testedClass::await($generator))->isIdenticalTo([1 => $otherValue])->object($generator = testedClass::some(2, $creator(5, $value), $creator(3, $otherValue)))->isInstanceOf(\generator::class)->variable(testedClass::await($generator))->isIdenticalTo([$value, $otherValue]);
 }
示例#2
0
function some(int $howMany, ...$generators) : \generator
{
    return runtime::some($howMany, ...$generators);
}