diff --git a/test/core_operations/test_core_operations.py b/test/core_operations/test_core_operations.py
deleted file mode 100644
index 1d33bfe10fd27e59aaabf2f733c05178ee5507b1..0000000000000000000000000000000000000000
--- a/test/core_operations/test_core_operations.py
+++ /dev/null
@@ -1,229 +0,0 @@
-"""
-B-ASIC test suite for the core operations.
-"""
-
-from b_asic.core_operations import Constant, Addition, Subtraction, Multiplication, Division, SquareRoot, ComplexConjugate, Max, Min, Absolute, ConstantMultiplication, ConstantAddition, ConstantSubtraction, ConstantDivision
-from b_asic.signal import Signal
-import pytest
-
-# Constant tests.
-def test_constant():
-    constant_operation = Constant(3)
-    assert constant_operation.evaluate() == 3
-
-def test_constant_negative():
-    constant_operation = Constant(-3)
-    assert constant_operation.evaluate() == -3
-
-def test_constant_complex():
-    constant_operation = Constant(3+4j)
-    assert constant_operation.evaluate() == 3+4j
-
-# Addition tests.
-def test_addition():
-    test_operation = Addition()
-    constant_operation = Constant(3)
-    constant_operation_2 = Constant(5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 8
-
-def test_addition_negative():
-    test_operation = Addition()
-    constant_operation = Constant(-3)
-    constant_operation_2 = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == -8
-
-def test_addition_complex():
-    test_operation = Addition()
-    constant_operation = Constant((3+5j))
-    constant_operation_2 = Constant((4+6j))
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == (7+11j)
-
-# Subtraction tests.
-def test_subtraction():
-    test_operation = Subtraction()
-    constant_operation = Constant(5)
-    constant_operation_2 = Constant(3)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 2
-
-def test_subtraction_negative():
-    test_operation = Subtraction()
-    constant_operation = Constant(-5)
-    constant_operation_2 = Constant(-3)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == -2
-
-def test_subtraction_complex():
-    test_operation = Subtraction()
-    constant_operation = Constant((3+5j))
-    constant_operation_2 = Constant((4+6j))
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == (-1-1j)
-
-# Multiplication tests.
-def test_multiplication():
-    test_operation = Multiplication()
-    constant_operation = Constant(5)
-    constant_operation_2 = Constant(3)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 15
-
-def test_multiplication_negative():
-    test_operation = Multiplication()
-    constant_operation = Constant(-5)
-    constant_operation_2 = Constant(-3)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 15
-
-def test_multiplication_complex():
-    test_operation = Multiplication()
-    constant_operation = Constant((3+5j))
-    constant_operation_2 = Constant((4+6j))
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == (-18+38j)
-
-# Division tests.
-def test_division():
-    test_operation = Division()
-    constant_operation = Constant(30)
-    constant_operation_2 = Constant(5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 6
-
-def test_division_negative():
-    test_operation = Division()
-    constant_operation = Constant(-30)
-    constant_operation_2 = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 6
-
-def test_division_complex():
-    test_operation = Division()
-    constant_operation = Constant((60+40j))
-    constant_operation_2 = Constant((10+20j))
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == (2.8-1.6j)
-
-# SquareRoot tests.
-def test_squareroot():
-    test_operation = SquareRoot()
-    constant_operation = Constant(36)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 6
-
-def test_squareroot_negative():
-    test_operation = SquareRoot()
-    constant_operation = Constant(-36)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 6j
-
-def test_squareroot_complex():
-    test_operation = SquareRoot()
-    constant_operation = Constant((48+64j))
-    assert test_operation.evaluate(constant_operation.evaluate()) == (8+4j)
-
-# ComplexConjugate tests.
-def test_complexconjugate():
-    test_operation = ComplexConjugate()
-    constant_operation = Constant(3+4j)
-    assert test_operation.evaluate(constant_operation.evaluate()) == (3-4j)
-
-def test_test_complexconjugate_negative():
-    test_operation = ComplexConjugate()
-    constant_operation = Constant(-3-4j)
-    assert test_operation.evaluate(constant_operation.evaluate()) == (-3+4j)
-
-# Max tests.
-def test_max():
-    test_operation = Max()
-    constant_operation = Constant(30)
-    constant_operation_2 = Constant(5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 30
-
-def test_max_negative():
-    test_operation = Max()
-    constant_operation = Constant(-30)
-    constant_operation_2 = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == -5
-
-# Min tests.
-def test_min():
-    test_operation = Min()
-    constant_operation = Constant(30)
-    constant_operation_2 = Constant(5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == 5
-
-def test_min_negative():
-    test_operation = Min()
-    constant_operation = Constant(-30)
-    constant_operation_2 = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate(), constant_operation_2.evaluate()) == -30
-
-# Absolute tests.
-def test_absolute():
-    test_operation = Absolute()
-    constant_operation = Constant(30)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 30
-
-def test_absolute_negative():
-    test_operation = Absolute()
-    constant_operation = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 5
-
-def test_absolute_complex():
-    test_operation = Absolute()
-    constant_operation = Constant((3+4j))
-    assert test_operation.evaluate(constant_operation.evaluate()) == 5.0
-
-# ConstantMultiplication tests.
-def test_constantmultiplication():
-    test_operation = ConstantMultiplication(5)
-    constant_operation = Constant(20)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 100
-
-def test_constantmultiplication_negative():
-    test_operation = ConstantMultiplication(5)
-    constant_operation = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate()) == -25
-
-def test_constantmultiplication_complex():
-    test_operation = ConstantMultiplication(3+2j)
-    constant_operation = Constant((3+4j))
-    assert test_operation.evaluate(constant_operation.evaluate()) == (1+18j)
-
-# ConstantAddition tests.
-def test_constantaddition():
-    test_operation = ConstantAddition(5)
-    constant_operation = Constant(20)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 25
-
-def test_constantaddition_negative():
-    test_operation = ConstantAddition(4)
-    constant_operation = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate()) == -1
-
-def test_constantaddition_complex():
-    test_operation = ConstantAddition(3+2j)
-    constant_operation = Constant((3+4j))
-    assert test_operation.evaluate(constant_operation.evaluate()) == (6+6j)
-
-# ConstantSubtraction tests.
-def test_constantsubtraction():
-    test_operation = ConstantSubtraction(5)
-    constant_operation = Constant(20)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 15
-
-def test_constantsubtraction_negative():
-    test_operation = ConstantSubtraction(4)
-    constant_operation = Constant(-5)
-    assert test_operation.evaluate(constant_operation.evaluate()) == -9
-
-def test_constantsubtraction_complex():
-    test_operation = ConstantSubtraction(4+6j)
-    constant_operation = Constant((3+4j))
-    assert test_operation.evaluate(constant_operation.evaluate()) == (-1-2j)
-
-# ConstantDivision tests.
-def test_constantdivision():
-    test_operation = ConstantDivision(5)
-    constant_operation = Constant(20)
-    assert test_operation.evaluate(constant_operation.evaluate()) == 4
-
-def test_constantdivision_negative():
-    test_operation = ConstantDivision(4)
-    constant_operation = Constant(-20)
-    assert test_operation.evaluate(constant_operation.evaluate()) == -5
-
-def test_constantdivision_complex():
-    test_operation = ConstantDivision(2+2j)
-    constant_operation = Constant((10+10j))
-    assert test_operation.evaluate(constant_operation.evaluate()) == (5+0j)
diff --git a/test/graph_id/test_graph_id_generator.py b/test/graph_id/test_graph_id_generator.py
deleted file mode 100644
index 85fb088d3409432e173a8b649c7eb3e4c191d423..0000000000000000000000000000000000000000
--- a/test/graph_id/test_graph_id_generator.py
+++ /dev/null
@@ -1,29 +0,0 @@
-"""
-B-ASIC test suite for graph id generator.
-"""
-
-from b_asic.graph_id import GraphIDGenerator, GraphID
-
-import pytest
-
-@pytest.fixture
-def graph_id_generator():
-    return GraphIDGenerator()
-
-def test_empty_string_generator(graph_id_generator):
-    """Test the graph id generator for an empty string type."""
-    assert graph_id_generator.get_next_id("") == "1"
-    assert graph_id_generator.get_next_id("") == "2"
-
-
-def test_normal_string_generator(graph_id_generator):
-    """"Test the graph id generator for a normal string type."""
-    assert graph_id_generator.get_next_id("add") == "add1"
-    assert graph_id_generator.get_next_id("add") == "add2"
-
-def test_different_strings_generator(graph_id_generator):
-    """Test the graph id generator for different strings."""
-    assert graph_id_generator.get_next_id("sub") == "sub1"
-    assert graph_id_generator.get_next_id("mul") == "mul1"
-    assert graph_id_generator.get_next_id("sub") == "sub2"
-    assert graph_id_generator.get_next_id("mul") == "mul2"
diff --git a/test/port/test_inputport.py b/test/port/test_inputport.py
deleted file mode 100644
index a43240693ac632b48461023536ff46b0ea379c5c..0000000000000000000000000000000000000000
--- a/test/port/test_inputport.py
+++ /dev/null
@@ -1,95 +0,0 @@
-"""
-B-ASIC test suite for Inputport
-"""
-
-import pytest
-
-from b_asic import InputPort, OutputPort
-from b_asic import Signal
-
-@pytest.fixture
-def inp_port():
-    return InputPort(0, None)
-
-@pytest.fixture
-def out_port():
-    return OutputPort(0, None)
-
-@pytest.fixture
-def out_port2():
-    return OutputPort(1, None)
-
-@pytest.fixture
-def dangling_sig():
-    return Signal()
-
-@pytest.fixture
-def s_w_source():
-    out_port = OutputPort(0, None)
-    return Signal(source=out_port)
-
-@pytest.fixture
-def sig_with_dest():
-    inp_port = InputPort(0, None)
-    return Signal(destination=out_port)
-
-@pytest.fixture
-def connected_sig():
-    out_port = OutputPort(0, None)
-    inp_port = InputPort(0, None)
-    return Signal(source=out_port, destination=inp_port)
-
-def test_connect_then_disconnect(inp_port, out_port):
-    """Test connect unused port to port."""
-    s1 = inp_port.connect(out_port)
-
-    assert inp_port.connected_ports == [out_port]
-    assert out_port.connected_ports == [inp_port]
-    assert inp_port.signals == [s1]
-    assert out_port.signals == [s1]
-    assert s1.source is out_port
-    assert s1.destination is inp_port
-
-    inp_port.remove_signal(s1)
-
-    assert inp_port.connected_ports == []
-    assert out_port.connected_ports == []
-    assert inp_port.signals == []
-    assert out_port.signals == [s1]
-    assert s1.source is out_port
-    assert s1.destination is None
-
-def test_connect_used_port_to_new_port(inp_port, out_port, out_port2):
-    """Does connecting multiple ports to an inputport throw error?"""
-    inp_port.connect(out_port)
-    with pytest.raises(AssertionError):
-        inp_port.connect(out_port2)
-
-def test_add_signal_then_disconnect(inp_port, s_w_source):
-    """Can signal be connected then disconnected properly?"""
-    inp_port.add_signal(s_w_source)
-
-    assert inp_port.connected_ports == [s_w_source.source]
-    assert s_w_source.source.connected_ports == [inp_port]
-    assert inp_port.signals == [s_w_source]
-    assert s_w_source.source.signals == [s_w_source]
-    assert s_w_source.destination is inp_port
-
-    inp_port.remove_signal(s_w_source)
-
-    assert inp_port.connected_ports == []
-    assert s_w_source.source.connected_ports == []
-    assert inp_port.signals == []
-    assert s_w_source.source.signals == [s_w_source]
-    assert s_w_source.destination is None
-
-def test_connect_then_disconnect(inp_port, out_port):
-    """Can port be connected and then disconnected properly?"""
-    inp_port.connect(out_port)
-
-    inp_port.disconnect(out_port)
-
-    print("outport signals:", out_port.signals, "count:", out_port.signal_count())
-    assert inp_port.signal_count() == 1
-    assert len(inp_port.connected_ports) == 0
-    assert out_port.signal_count() == 0
diff --git a/test/port/test_outputport.py b/test/port/test_outputport.py
deleted file mode 100644
index ac50818e105f97c094a02b7fb19592dc85e67e33..0000000000000000000000000000000000000000
--- a/test/port/test_outputport.py
+++ /dev/null
@@ -1,46 +0,0 @@
-"""
-B-ASIC test suite for OutputPort
-TODO: More info
-"""
-from b_asic import InputPort, OutputPort
-import pytest
-
-@pytest.fixture
-def inp_ports():
-    return [InputPort(_, None) for _ in range(0,3)]
-
-def test_connect_multiple_signals(inp_ports):
-    """Can multiple ports connect to an output port?"""
-    out_port = OutputPort(0, None)
-
-    for port in inp_ports:
-        out_port.connect(port)
-
-    assert out_port.signal_count() == len(inp_ports)
-
-def test_disconnect_multiple_signals(inp_ports):
-    """Can multiple signals disconnect from an output port?"""
-    out_port = OutputPort(0, None)
-
-    sigs = []
-
-    for port in inp_ports:
-        sigs.append(out_port.connect(port))
-
-    for sig in sigs:
-        out_port.remove_signal(sig)
-
-    assert out_port.signal_count() == 0
-
-def test_disconnect_mulitple_ports(inp_ports):
-    """Can multiple ports be disconnected from an output port?"""
-    out_port = OutputPort(0, None)
-
-    for port in inp_ports:
-        out_port.connect(port)
-
-    for port in inp_ports:
-        out_port.disconnect(port)
-
-    assert out_port.signal_count() == 3
-    assert len(out_port.connected_ports) == 0
\ No newline at end of file
diff --git a/test/signal/test_signal.py b/test/signal/test_signal.py
deleted file mode 100644
index ab07eb778ddb693bfc9cfabf6aeb7804038312d5..0000000000000000000000000000000000000000
--- a/test/signal/test_signal.py
+++ /dev/null
@@ -1,62 +0,0 @@
-"""
-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_signal_creation_and_disconnction_and_connection_changing():
-    in_port = InputPort(0, None)
-    out_port = OutputPort(1, None)
-    s = Signal(out_port, in_port)
-
-    assert in_port.signals == [s]
-    assert out_port.signals == [s]
-    assert s.source is out_port
-    assert s.destination is in_port
-
-    in_port1 = InputPort(0, None)
-    s.set_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.remove_source()
-
-    assert out_port.signals == []
-    assert in_port1.signals == [s]
-    assert s.source is None
-    assert s.destination is in_port1
-
-    s.remove_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.set_source(out_port1)
-
-    assert out_port1.signals == [s]
-    assert s.source is out_port1
-    assert s.destination is None
-
-    s.set_source(out_port)
-
-    assert out_port.signals == [s]
-    assert out_port1.signals == []
-    assert s.source is out_port
-    assert s.destination is None
-
-    s.set_destination(in_port)
-
-    assert out_port.signals == [s]
-    assert in_port.signals == [s]
-    assert s.source is out_port
-    assert s.destination is in_port
diff --git a/test/signal_flow_graph/test_signal_flow_graph.py b/test/signal_flow_graph/test_signal_flow_graph.py
deleted file mode 100644
index d18d2da555df3cc01e62971dcc043fbd25567a22..0000000000000000000000000000000000000000
--- a/test/signal_flow_graph/test_signal_flow_graph.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from b_asic.signal_flow_graph import SFG
-from b_asic.core_operations import Addition, Constant
-from b_asic.signal import Signal
-from b_asic.signal_flow_graph import SFG
-
-import pytest
-
-def test_adding_to_sfg():
-    pass
-
diff --git a/test/traverse/test_traverse_tree.py b/test/traverse/test_traverse_tree.py
deleted file mode 100644
index 031aeec76eebacb1b54b21a53023326dcbefee08..0000000000000000000000000000000000000000
--- a/test/traverse/test_traverse_tree.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from b_asic.core_operations import Constant, Addition
-from b_asic.signal import Signal
-from b_asic.port import InputPort, OutputPort
-
-import pytest
-
-def test_traverse_single_tree(operation):
-    """Traverse a tree consisting of one operation."""
-    constant = Constant(None)
-    assert list(constant.traverse()) == [constant]
-
-def test_traverse_tree(operation_tree):
-    """Traverse a basic addition tree with two constants."""
-    assert len(list(operation_tree.traverse())) == 3
-
-def test_traverse_large_tree(large_operation_tree):
-    """Traverse a larger tree."""
-    assert len(list(large_operation_tree.traverse())) == 7
-
-def test_traverse_type(large_operation_tree):
-    traverse = list(large_operation_tree.traverse())
-    assert len(list(filter(lambda type_: isinstance(type_, Addition), traverse))) == 3
-    assert len(list(filter(lambda type_: isinstance(type_, Constant), traverse))) == 4
-
-def test_traverse_loop(operation_tree):
-    add_oper_signal = Signal()
-    operation_tree._output_ports[0].add_signal(add_oper_signal)
-    operation_tree._input_ports[0].remove_signal(add_oper_signal)
-    operation_tree._input_ports[0].add_signal(add_oper_signal)
-    assert len(list(operation_tree.traverse())) == 2