Exemple #1
0
async def test_pipe_complex_pipe():
    xs = AsyncObservable.from_iterable([1, 2, 3])
    result = []

    def mapper(value):
        return value * 10

    async def predicate(value):
        await asyncio.sleep(0.1)
        return value > 1

    async def long_running(value):
        return AsyncObservable.from_iterable([value])

    ys = pipe(xs,
              op.filter(predicate),
              op.map(mapper),
              op.flat_map(long_running)
              )

    async with subscribe(ys) as stream:
        async for value in stream:
            result.append(value)

    assert result == [20, 30]
Exemple #2
0
async def test_pipe_map():
    xs = AsyncObservable.from_iterable([1, 2, 3])
    result = []

    def mapper(value):
        return value * 10

    ys = pipe(xs, op.map(mapper))

    async def asend(value):
        result.append(value)

    await run(ys, AnonymousAsyncObserver(asend))
    assert result == [10, 20, 30]
Exemple #3
0
async def test_pipe_simple_pipe():
    xs = AsyncObservable.from_iterable([1, 2, 3])
    result = []

    def mapper(value):
        return value * 10

    async def predicate(value):
        await asyncio.sleep(0.1)
        return value > 1

    ys = pipe(xs, _.filter(predicate), _.map(mapper))

    async def asend(value):
        result.append(value)

    await run(ys, AsyncAnonymousObserver(asend))
    assert result == [20, 30]