Newer
Older
Angus Lothian
committed
B-ASIC test suite for OutputPort
Angus Lothian
committed
from b_asic import InputPort, OutputPort
Angus Lothian
committed
@pytest.fixture
def inp_ports():
return [InputPort(_, None) for _ in range(0,3)]
Angus Lothian
committed
def test_connect_multiple_signals(inp_ports):
"""Can multiple ports connect to an output port?"""
out_port = OutputPort(0, None)
Angus Lothian
committed
for port in inp_ports:
Angus Lothian
committed
out_port.connect(port)
Angus Lothian
committed
assert out_port.signal_count() == len(inp_ports)
def test_disconnect_multiple_signals(inp_ports):
Angus Lothian
committed
"""Can multiple signals disconnect from an output port?"""
out_port = OutputPort(0, None)
sigs = []
for port in inp_ports:
sigs.append(out_port.connect(port))
for sig in sigs:
out_port.remove_signal(sig)
assert out_port.signal_count() == 0
def test_disconnect_mulitple_ports(inp_ports):
"""Can multiple ports be disconnected from an output port?"""
Angus Lothian
committed
out_port = OutputPort(0, None)
for port in inp_ports:
Angus Lothian
committed
out_port.connect(port)
for port in inp_ports:
out_port.disconnect(port)
Angus Lothian
committed
Angus Lothian
committed
assert out_port.signal_count() == 3
assert len(out_port.connected_ports) == 0