Rx\Functional\Operator\RetryWhenTest::testRetryWhenDispose PHP Метод

testRetryWhenDispose() публичный Метод

    public function testRetryWhenDispose()
    {
        $xs = $this->createColdObservable([onNext(10, 1), onNext(20, 2), onNext(30, 3), onNext(40, 4), onCompleted(50)]);
        $results = $this->scheduler->startWithDispose(function () use($xs) {
            return $xs->map(function ($x) {
                if ($x > 2) {
                    throw new \Exception();
                }
                return $x;
            })->retryWhen(function (Observable $attempts) {
                return $attempts;
            });
        }, 285);
        $this->assertMessages([onNext(210, 1), onNext(220, 2), onNext(240, 1), onNext(250, 2), onNext(270, 1), onNext(280, 2)], $results->getMessages());
        $this->assertSubscriptions([subscribe(200, 230), subscribe(230, 260), subscribe(260, 285)], $xs->getSubscriptions());
    }