Skip to content
Snippets Groups Projects
Commit 2a964b82 authored by angloth's avatar angloth
Browse files

Modify the existing test to one large test that tests the entire signal class

parent 79a285cc
No related branches found
No related tags found
1 merge request!9Resolve #1 "Port Interface", #8 "Port Coupling"
Pipeline #10260 passed
"""
B-ASIC test suit for the signal module which consists of the Signal class.
"""
from b_asic.port import InputPort, OutputPort
from b_asic.signal import Signal
import pytest
def test_explicit_signal_creation():
def test_signal_creation_and_disconnction_and_connection_changing():
in_port = InputPort(0, None)
out_port = OutputPort(1, None)
s = Signal(out_port, in_port)
......@@ -13,10 +17,46 @@ def test_explicit_signal_creation():
assert s.source is out_port
assert s.destination is in_port
def test_implicit_signal_creation():
in_port = InputPort(0, None)
out_port = OutputPort(1, None)
s = in_port.connect_port(out_port)
in_port1 = InputPort(0, None)
s.connect_destination(in_port1)
assert in_port.signals == []
assert in_port1.signals == [s]
assert out_port.signals == [s]
assert s.source is out_port
assert s.destination is in_port1
s.disconnect_source()
assert out_port.signals == []
assert in_port1.signals == [s]
assert s.source is None
assert s.destination is in_port1
s.disconnect_destination()
assert out_port.signals == []
assert in_port1.signals == []
assert s.source is None
assert s.destination is None
out_port1 = OutputPort(0, None)
s.connect_source(out_port1)
assert out_port1.signals == [s]
assert s.source is out_port1
assert s.destination is None
s.connect_source(out_port)
assert out_port.signals == [s]
assert out_port1.signals == []
assert s.source is out_port
assert s.destination is None
s.connect_destination(in_port)
assert out_port.signals == [s]
assert in_port.signals == [s]
assert out_port.signals == [s]
\ No newline at end of file
assert s.source is out_port
assert s.destination is in_port
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment