From 2a964b8231429c061aa6cfdcb2d2cad7fe727e4e Mon Sep 17 00:00:00 2001 From: angloth <angus.lothian@hotmail.com> Date: Sun, 8 Mar 2020 19:23:57 +0100 Subject: [PATCH] Modify the existing test to one large test that tests the entire signal class --- test/signal/test_signal.py | 52 +++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/test/signal/test_signal.py b/test/signal/test_signal.py index c4cf0390..8c10d1e3 100644 --- a/test/signal/test_signal.py +++ b/test/signal/test_signal.py @@ -1,9 +1,13 @@ +""" +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 -- GitLab