Newer
Older
"""
B-ASIC test suite for Inputport
"""
import pytest

Ivar Härnqvist
committed
from b_asic import InputPort, OutputPort, Signal
@pytest.fixture
def dangling_sig():
return Signal()
@pytest.fixture
return Signal(source=out_port)
@pytest.fixture
def sig_with_dest(inp_port):
return Signal(destination=inp_port)
def connected_sig(inp_port, out_port):
return Signal(source=out_port, destination=inp_port)
def test_connect_then_disconnect(inp_port, out_port):
"""Test connect unused port to port."""
s1 = inp_port.connect(out_port)
assert inp_port.signals == [s1]
assert out_port.signals == [s1]
assert s1.source is out_port
assert s1.destination is inp_port
inp_port.remove_signal(s1)
assert inp_port.signals == []
assert out_port.signals == [s1]
assert s1.source is out_port
assert s1.destination is None
def test_connect_used_port_to_new_port(inp_port, out_port, out_port2):
"""Does connecting multiple ports to an inputport throw error?"""
inp_port.connect(out_port)
inp_port.connect(out_port2)
def test_add_signal_then_disconnect(inp_port, s_w_source):
"""Can signal be connected then disconnected properly?"""
inp_port.add_signal(s_w_source)
assert inp_port.connected_source == s_w_source.source
assert inp_port.signals == [s_w_source]
assert s_w_source.source.signals == [s_w_source]
assert s_w_source.destination is inp_port
inp_port.remove_signal(s_w_source)
assert inp_port.signals == []
assert s_w_source.source.signals == [s_w_source]
assert s_w_source.destination is None