public function concatMap_Then_Complete_Task()
{
$xs = Observable::fromArray([4, 3, 2, 1]);
$results = [];
$completed = false;
$xs->concatMap(function ($x, $i) {
return Observable::just($x + $i);
})->subscribeCallback(function ($x) use(&$results) {
$results[] = $x;
}, function ($e) {
$this->fail('Should not get an error');
}, function () use(&$completed) {
$completed = true;
});
$this->assertTrue($completed);
$this->assertEquals([4, 4, 4, 4], $results);
}