public function concatMap_UseFunction()
{
$xs = $this->createHotObservable([onNext(210, 4), onNext(220, 3), onNext(250, 5), onNext(270, 1), onCompleted(290)]);
$results = $this->scheduler->startWithCreate(function () use($xs) {
return $xs->concatMap(function ($x) {
return Observable::interval(10, $this->scheduler)->map(function () use($x) {
return $x;
})->take($x);
});
});
$this->assertMessages([onNext(220, 4), onNext(230, 4), onNext(240, 4), onNext(250, 4), onNext(260, 3), onNext(270, 3), onNext(280, 3), onNext(290, 5), onNext(300, 5), onNext(310, 5), onNext(320, 5), onNext(330, 5), onNext(340, 1), onCompleted(340)], $results->getMessages());
$this->assertSubscriptions([subscribe(200, 290)], $xs->getSubscriptions());
}