Rx\Functional\Operator\ConcatMapTest::concatMap_result_Complete_Task PHP Method

concatMap_result_Complete_Task() public method

    public function concatMap_result_Complete_Task()
    {
        $xs = Observable::fromArray([4, 3, 2, 1]);
        $results = [];
        $completed = false;
        $xs->concatMap(function ($x, $i) {
            return Observable::just($x + $i);
        }, function ($x, $y, $oi, $ii) {
            $this->assertEquals(0, $ii);
            return $x + $y + $oi;
        })->subscribeCallback(function ($x) use(&$results) {
            $results[] = $x;
        }, function ($e) {
            $this->fail();
        }, function () use(&$completed) {
            $completed = true;
        });
        $this->assertTrue($completed);
        $this->assertEquals([8, 8, 8, 8], $results);
    }