""" B-ASIC test suite for Port interface, place all general test cases for abstract class Port here """ from b_asic import InputPort, OutputPort, Signal, SignalSource, SignalDestination, Addition import pytest def test_connect_one_signal_to_port(signal): port = InputPort(0) port.connect(signal) assert len(port.signals()) == 1 assert port.signal() == signal def test_change_port_signal(): source = SignalSource(Addition, 1) dest = SignalDestination(Addition,2) signal1 = Signal(source, dest) signal2 = Signal(source, dest) port = InputPort(0) port.connect(signal1) assert port.signal() == signal1 port.connect(signal2) assert port.signal() == signal2