Esempio n. 1
0
def test_global_on():
    @on('test_event')
    def callback(data):
        assert data == None

    bus = event.Bus()
    bus.bind(callback)
    bus.emit('test_event', None)
Esempio n. 2
0
def test_direct_emit():
    def callback(data):
        raise CallbackReached

    bus = event.Bus()
    bus.addListener('test_event', callback)
    with pytest.raises(CallbackReached):
        bus.emit('test_event', None)
Esempio n. 3
0
def test_Bus_on_to_function():
    bus = event.Bus()

    @reached
    @bus.on('test')
    def test(data):
        pass

    bus.emit('test', None)
Esempio n. 4
0
def test_bound_bus_bound_callback():
    def callback(data):
        assert data == None

    evt = 'test_event'
    bus = event.Bus()
    bus.addListener(evt, callback)
    assert evt in bus._callbacks
    assert len(bus._callbacks[evt]) == 1
Esempio n. 5
0
def test_Bus_source_to_function():
    bus = event.Bus()

    @reached
    @bus.source('test')
    def test():
        return 1

    with pytest.raises(CallbackReached):
        test()
Esempio n. 6
0
def test_multi_on(capsys):
    @on('test1')
    @on('test2')
    def callback(data):
        print('reached')

    bus = event.Bus()
    bus.bind(callback)
    bus.emit('test1', None)
    bus.emit('test2', None)
    captured = capsys.readouterr()
    assert captured.out == 'reached\nreached\n'
Esempio n. 7
0
def test_unbound_on_method_unbound_bus():
    evt = 'test_event'

    class SMA:
        @on(evt)
        def test(self, data):
            assert data == None

    sma = SMA()
    bus = event.Bus()
    bus.bind(sma)
    assert evt in bus._callbacks
    assert len(bus._callbacks[evt]) == 1
Esempio n. 8
0
def test_global_source_on():
    @source('test_event')
    def produce():
        return None

    @on('test_event')
    def callback(data):
        assert data == None

    bus = event.Bus()
    bus.bind(produce)
    bus.bind(callback)
    produce()
Esempio n. 9
0
def test_unbound_source_method_unbound_bus():
    evt = 'test_event'

    class Tick:
        @source(evt)
        def test(self):
            return 1

    tick = Tick()
    bus = event.Bus()
    bus.bind(tick)
    assert tick.test.buses[0] == bus
    assert tick.test.event
    assert tick.test() == 1
Esempio n. 10
0
def test_1_source_callback_combined_instance():
    class Ticker:
        @source('tick')
        def tick(self):
            return 1

        @reached
        @on('tick')
        def recv(self, data):
            assert data == 1

    ticker = Ticker()
    bus = event.Bus()
    bus.bind(ticker)
    with pytest.raises(CallbackReached):
        ticker.tick()
Esempio n. 11
0
def test_1_callback_n_events():
    class Ticker:
        def __init__(self):
            self.called = 0

        @on('tick')
        def print_tick(self, data):
            self.called += 1
            return data

    bus = event.Bus()

    ticker = Ticker()
    bus.bind(ticker)
    bus.addListener('tick', ticker.print_tick)

    bus.emit('tick', 1)
    assert ticker.called == 2
Esempio n. 12
0
def test_1_source_instance_1_callback_instance():
    class Ticker:
        @source('tick')
        def tick(self, val=0):
            return val

    class Candle:
        @reached
        @on('tick')
        def recv(self, data, expect=0):
            assert data == expect

    ticker = Ticker()
    candle = Candle()

    bus = event.Bus()
    bus.bind(ticker)
    bus.bind(candle)

    with pytest.raises(CallbackReached):
        ticker.tick()
Esempio n. 13
0
def test_empty_emit():
    bus = event.Bus()
    bus.emit('test_event', None)