public function takeWhile_index()
{
$xs = $this->createHotObservable([onNext(90, -1), onNext(110, -1), onNext(205, 100), onNext(210, 2), onNext(260, 5), onNext(290, 13), onNext(320, 3), onNext(350, 7), onNext(390, 4), onNext(410, 17), onNext(450, 8), onNext(500, 23), onCompleted(600)]);
$results = $this->scheduler->startWithCreate(function () use($xs) {
return $xs->takeWhileWithIndex(function ($i) {
return $i < 5;
});
});
$this->assertMessages([onNext(205, 100), onNext(210, 2), onNext(260, 5), onNext(290, 13), onNext(320, 3), onCompleted(350)], $results->getMessages());
$this->assertSubscriptions([subscribe(200, 350)], $xs->getSubscriptions());
}