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}
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}
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}
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
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
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))
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)
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
def __init__(self): self.signal_received = IM.Signal()
def __init__(self): self.signal_read = IM.Signal() self.signal_wrote = IM.Signal() self.config = None
def __init__(self): self.signal_received = IM.Signal() self.wait_time = 0
def __init__(self): self.signal_received = IM.Signal() self.signal_msg_finished = IM.Signal() self.sent = [] self.addr_in_queue = False