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