Пример #1
0
    def test_interval(self):
        scheduler = TestScheduler()
        on_next = ReactiveTest.on_next
        self.messages = scheduler.create_hot_observable(
            on_next(10, 'posted: 32: sell ABC 199 @ $1.23'),
            on_next(11, 'fulfilled: 32: sell ABC 199 @ $1.23'),
            on_next(101, 'posted: 32: buy ABC 199 @ $1.23'),
            on_next(102, 'fulfilled: 32: buy ABC 199 @ $1.23'),
            ReactiveTest.on_completed(750),
        )
        self.results = []

        def create(scheduler, state):
            self.aggregate = utils.aggregate_stock_orders_from_messages(
                self.messages)

        def subscribe(scheduler, state):
            self.subscription = self.aggregate.subscribe(
                lambda value: self.results.append(value))

        def dispose(scheduler, state):
            self.subscription.dispose()

        scheduler.schedule_absolute(1, create)
        scheduler.schedule_absolute(2, subscribe)
        scheduler.schedule_absolute(1000, dispose)

        scheduler.start().messages
        self.results
Пример #2
0
def test_to_observable_return():
    scheduler = TestScheduler()
    
    def create():
        return OnNext(42).to_observable(scheduler)
    
    res = scheduler.start(create)
    res.messages.assert_equal(ReactiveTest.on_next(201, 42), ReactiveTest.on_completed(201))
Пример #3
0
def test_to_observable_empty():
    scheduler = TestScheduler()

    def create():
        return OnCompleted().to_observable(scheduler)
    
    res = scheduler.start(create)
    res.messages.assert_equal(ReactiveTest.on_completed(201))
def test_to_observable_return():
    scheduler = TestScheduler()

    def create():
        return OnNext(42).to_observable(scheduler)

    res = scheduler.start(create)
    assert res.messages == [ReactiveTest.on_next(200, 42), ReactiveTest.on_completed(200)]
def test_to_observable_empty():
    scheduler = TestScheduler()

    def create():
        return OnCompleted().to_observable(scheduler)

    res = scheduler.start(create)
    assert res.messages == [ReactiveTest.on_completed(200)]
Пример #6
0
def messages_to_records(messages: List[Tuple]) -> List[Recorded]:
    """
    Helper function to convert messages returned by parse() to a list of
    Recorded.
    """
    records = []

    dispatcher = dict(N=lambda t, n: ReactiveTest.on_next(t, n.value),
                      E=lambda t, n: ReactiveTest.on_error(t, n.exception),
                      C=lambda t, n: ReactiveTest.on_completed(t))

    for message in messages:
        time, notification = message
        kind = notification.kind
        record = dispatcher[kind](time, notification)
        records.append(record)

    return records
Пример #7
0
def messages_to_records(messages: List[Tuple]) -> List[Recorded]:
    """
    Helper function to convert messages returned by parse() to a list of
    Recorded.
    """
    records = []

    dispatcher = dict(
        N=lambda t, n: ReactiveTest.on_next(t, n.value),
        E=lambda t, n: ReactiveTest.on_error(t, n.exception),
        C=lambda t, n: ReactiveTest.on_completed(t)
        )

    for message in messages:
        time, notification = message
        kind = notification.kind
        record = dispatcher[kind](time, notification)
        records.append(record)

    return records