예제 #1
0
            def mapper(ys, i):
                def proj(y):
                    return "%s %s" % (i, y)

                return ys.pipe(
                    ops.map(proj),
                    ops.concat(reactivex.return_value("%s end" % i)))
예제 #2
0
    def test_concat_repeat(self):
        with marbles_testing() as (start, cold, hot, exp):
            e1 = cold("-e11-e12|")
            e2 = cold("-e21-e22|")
            ex = exp("-e11-e12-e21-e22-e11-e12-e21-e22|")

            obs = e1.pipe(ops.concat(e2), ops.repeat(2))

            results = start(obs)
            assert results == ex
예제 #3
0
    def test_range_double_subscribe(self):
        scheduler = TestScheduler()
        obs = reactivex.range(1, 4)

        results = scheduler.start(lambda: obs.pipe(ops.concat(obs)))
        assert results.messages == [
            on_next(200, 1),
            on_next(200, 2),
            on_next(200, 3),
            on_next(200, 1),
            on_next(200, 2),
            on_next(200, 3),
            on_completed(200),
        ]
예제 #4
0
    def test_concat_forward_none_scheduler(self):
        subscribe_schedulers = {"e1": "unknown", "e2": "unknown"}

        def subscribe_e1(observer, scheduler="not_set"):
            subscribe_schedulers["e1"] = scheduler
            observer.on_completed()

        def subscribe_e2(observer, scheduler="not_set"):
            subscribe_schedulers["e2"] = scheduler
            observer.on_completed()

        e1 = reactivex.create(subscribe_e1)
        e2 = reactivex.create(subscribe_e2)

        stream = e1.pipe(ops.concat(e2))
        stream.subscribe()
        assert subscribe_schedulers["e1"] is None
        assert subscribe_schedulers["e2"] is None
예제 #5
0
    def test_concat_forward_scheduler(self):
        scheduler = TestScheduler()
        subscribe_schedulers = {"e1": "unknown", "e2": "unknown"}

        def subscribe_e1(observer, scheduler="not_set"):
            subscribe_schedulers["e1"] = scheduler
            observer.on_completed()

        def subscribe_e2(observer, scheduler="not_set"):
            subscribe_schedulers["e2"] = scheduler
            observer.on_completed()

        e1 = reactivex.create(subscribe_e1)
        e2 = reactivex.create(subscribe_e2)

        stream = e1.pipe(ops.concat(e2))
        stream.subscribe(scheduler=scheduler)
        scheduler.advance_to(1000)
        assert subscribe_schedulers["e1"] is scheduler
        assert subscribe_schedulers["e2"] is scheduler
예제 #6
0
파일: _dowhile.py 프로젝트: lizh06/RxPY
 def do_while(source: Observable[_T]) -> Observable[_T]:
     return source.pipe(ops.concat(source.pipe(
         ops.while_do(condition), ), ))
예제 #7
0
 def create():
     return e1.pipe(ops.concat(e2))
예제 #8
0
 def create():
     return e2.pipe(ops.concat(e1))