Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
test_port.py 708 B
"""
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