Ejemplo n.º 1
0
def test_static():
    clear()
    sig = IM.Signal()
    sig.connect(Slot.static_slot)

    sig.emit(a=1, b=2)

    assert len(Slot.static_data) == 1
    assert Slot.static_data[0] == {'a': 1, 'b': 2}
Ejemplo n.º 2
0
def test_func():
    clear()
    sig = IM.Signal()
    sig.connect(func_slot)

    sig.emit(a=1, b=2)

    assert len(func_data) == 1
    assert func_data[0] == {'a': 1, 'b': 2}
Ejemplo n.º 3
0
def test_method():
    clear()
    sig = IM.Signal()
    obj = Slot()
    sig.connect(obj.method_slot)

    sig.emit(a=1, b=2)

    assert len(Slot.method_data) == 1
    assert Slot.method_data[0] == {'a': 1, 'b': 2}
Ejemplo n.º 4
0
def test_weakref():
    clear()
    sig = IM.Signal()
    obj = Slot()
    sig.connect(obj.method_slot)
    sig.connect(func_slot)

    del obj

    sig.emit(a=1, b=2)
    assert len(Slot.method_data) == 0
    assert len(func_data) == 1
Ejemplo n.º 5
0
def test_clear():
    clear()
    sig = IM.Signal()
    obj = Slot()
    sig.connect(obj.method_slot)
    sig.connect(Slot.static_slot)
    sig.connect(func_slot)

    sig.clear()
    sig.emit(a=1, b=2)
    assert len(Slot.method_data) == 0
    assert len(Slot.static_data) == 0
    assert len(func_data) == 0
Ejemplo n.º 6
0
class MockMqtt:
    """Mock insteon_mqtt/network/Mqtt class
    """
    signal_connected = IM.Signal()

    def __init__(self):
        self.pub = []
        self.sub = []

    def publish(self, topic, payload, qos=None, retain=None):
        self.pub.append(Data(topic=topic, payload=payload, qos=qos,
                             retain=retain))

    def subscribe(self, topic, qos, callback):
        self.sub.append(Data(topic=topic, qos=qos, callback=callback))

    def unsubscribe(self, topic, qos, callback):
        self.sub.append(Data(topic=topic, qos=qos, callback=callback))
Ejemplo n.º 7
0
def test_disconnect():
    clear()
    sig = IM.Signal()

    def dslot1(**kwargs):
        sig.disconnect(dslot1)

    def dslot2(**kwargs):
        sig.disconnect(dslot2)

    sig.connect(dslot1)
    sig.connect(func_slot)
    sig.connect(dslot2)

    sig.emit(a=1, b=2)
    assert len(func_data) == 1

    sig.disconnect(dslot1)
Ejemplo n.º 8
0
def test_multi():
    clear()
    sig = IM.Signal()
    obj = Slot()
    sig.connect(obj.method_slot)
    sig.connect(Slot.static_slot)
    sig.connect(func_slot)

    sig.emit(a=1, b=2)
    sig.emit(c=3, d=4)

    assert len(Slot.method_data) == 2
    assert Slot.method_data[0] == {'a': 1, 'b': 2}
    assert Slot.method_data[1] == {'c': 3, 'd': 4}

    assert len(Slot.static_data) == 2
    assert Slot.static_data[0] == {'a': 1, 'b': 2}
    assert Slot.static_data[1] == {'c': 3, 'd': 4}

    assert len(func_data) == 2
    assert func_data[0] == {'a': 1, 'b': 2}
    assert func_data[1] == {'c': 3, 'd': 4}

    sig.disconnect(obj.method_slot)
    sig.emit(a=10)
    assert len(Slot.method_data) == 2
    assert len(Slot.static_data) == 3
    assert len(func_data) == 3

    sig.disconnect(obj.static_slot)
    sig.emit(a=10)
    assert len(Slot.method_data) == 2
    assert len(Slot.static_data) == 3
    assert len(func_data) == 4

    sig.disconnect(func_slot)
    sig.emit(a=10)
    assert len(Slot.method_data) == 2
    assert len(Slot.static_data) == 3
    assert len(func_data) == 4
Ejemplo n.º 9
0
 def __init__(self):
     self.signal_received = IM.Signal()
Ejemplo n.º 10
0
 def __init__(self):
     self.signal_read = IM.Signal()
     self.signal_wrote = IM.Signal()
     self.config = None
Ejemplo n.º 11
0
 def __init__(self):
     self.signal_received = IM.Signal()
     self.wait_time = 0
Ejemplo n.º 12
0
 def __init__(self):
     self.signal_received = IM.Signal()
     self.signal_msg_finished = IM.Signal()
     self.sent = []
     self.addr_in_queue = False