From 541b13945e439d8d5a1007a64da47c572310f471 Mon Sep 17 00:00:00 2001 From: Kevin Scott <kevsc634@student.liu.se> Date: Thu, 27 Feb 2020 11:57:12 +0100 Subject: [PATCH] fixed error when running tests and restructured tests --- test/conftest.py | 2 ++ test/fixtures/__init__.py | 0 test/fixtures/signal.py | 20 ++++++++++++++++++++ test/port/__init__.py | 0 test/port/test_inputport.py | 23 +++++++++++++++++++++++ test/port/test_outputport.py | 18 ++++++++++++++++++ test/{ => port}/test_port.py | 10 ++-------- test/test_inputport.py | 28 ---------------------------- test/test_outputport.py | 28 ---------------------------- test/test_signal.py | 28 ---------------------------- 10 files changed, 65 insertions(+), 92 deletions(-) create mode 100644 test/conftest.py create mode 100644 test/fixtures/__init__.py create mode 100644 test/fixtures/signal.py create mode 100644 test/port/__init__.py create mode 100644 test/port/test_inputport.py create mode 100644 test/port/test_outputport.py rename test/{ => port}/test_port.py (73%) delete mode 100644 test/test_inputport.py delete mode 100644 test/test_outputport.py delete mode 100644 test/test_signal.py diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 00000000..986af94c --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,2 @@ +import pytest +from test.fixtures.signal import * \ No newline at end of file diff --git a/test/fixtures/__init__.py b/test/fixtures/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/test/fixtures/signal.py b/test/fixtures/signal.py new file mode 100644 index 00000000..5fbdcf2b --- /dev/null +++ b/test/fixtures/signal.py @@ -0,0 +1,20 @@ +import pytest +from b_asic import Signal, SignalSource, SignalDestination, Addition + +""" +Use a fixture for initializing objects and pass them as argument to a test function +""" +@pytest.fixture +def signal(): + source = SignalSource(Addition(0), 1) + dest = SignalDestination(Addition(1), 2) + return Signal(0, source, dest) + +@pytest.fixture +def signals(): + ret = [] + for i in range(0,3): + source = SignalSource(Addition(0), 1) + dest = SignalDestination(Addition(1), 2) + ret.append(Signal(i, source, dest)) + return ret \ No newline at end of file diff --git a/test/port/__init__.py b/test/port/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/test/port/test_inputport.py b/test/port/test_inputport.py new file mode 100644 index 00000000..d761900a --- /dev/null +++ b/test/port/test_inputport.py @@ -0,0 +1,23 @@ +""" +B-ASIC test suite for Inputport +""" + +# import module we are testing +from b_asic import InputPort + +# import dependencies +from b_asic import Signal, SignalSource, SignalDestination, Addition + +import pytest + +def test_connect_multiple_signals(signals): + """ + test if only one signal can connect to an input port + """ + inp_port = InputPort(0) + + for s in signals: + inp_port.connect(s) + + assert inp_port.signal_count() == 1 + assert inp_port.signals()[0] == signals[-1] \ No newline at end of file diff --git a/test/port/test_outputport.py b/test/port/test_outputport.py new file mode 100644 index 00000000..5f7b8f49 --- /dev/null +++ b/test/port/test_outputport.py @@ -0,0 +1,18 @@ +""" +B-ASIC test suite for InputPort +TODO: More info +""" +from b_asic import OutputPort, Signal, SignalSource, SignalDestination, Addition +import pytest + +def test_connect_multiple_signals(signals): + """ + test if multiple signals can connect to an output port + """ + outp_port = OutputPort(0) + + for s in signals: + outp_port.connect(s) + + assert outp_port.signal_count() == 3 + assert outp_port.signals() == signals \ No newline at end of file diff --git a/test/test_port.py b/test/port/test_port.py similarity index 73% rename from test/test_port.py rename to test/port/test_port.py index f4e039a9..56cb9be2 100644 --- a/test/test_port.py +++ b/test/port/test_port.py @@ -1,16 +1,10 @@ """ B-ASIC test suite for Port interface, place all general test cases for abstract class Port here -TODO: More info """ from b_asic import InputPort, OutputPort, Signal, SignalSource, SignalDestination, Addition import pytest -@pytest.fixture -def signal(): - source = SignalSource(Addition(0), 1) - dest = SignalDestination(Addition(1),2) - return Signal(source, dest) def test_connect_one_signal_to_port(signal): port = InputPort(0) @@ -21,8 +15,8 @@ def test_connect_one_signal_to_port(signal): def test_change_port_signal(): source = SignalSource(Addition(0), 1) dest = SignalDestination(Addition(1),2) - signal1 = Signal(source, dest) - signal2 = Signal(source, dest) + signal1 = Signal(1, source, dest) + signal2 = Signal(2, source, dest) port = InputPort(0) port.connect(signal1) diff --git a/test/test_inputport.py b/test/test_inputport.py deleted file mode 100644 index 0cb3cab9..00000000 --- a/test/test_inputport.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -B-ASIC test suite for Inputport -TODO: More info -""" -from b_asic import InputPort, Signal, SignalSource, SignalDestination, Addition -import pytest - -@pytest.fixture -def signal(): - source = SignalSource(Addition(0), 1) - dest = SignalDestination(Addition(1),2) - return Signal(source, dest) - -def test_connect_multple_signals(signal): - """ - make sure we can only connect one signal to an input port - """ - inp_port = InputPort(0) - inp_port.connect(signal) - - # create new signal - source = SignalSource(Addition(0), 3) - dest = SignalDestination(Addition(1),4) - new_signal = Signal(source, dest) - - inp_port.connect(new_signal) - inp_port.signal_count() == 1 - assert inp_port.signals() == [new_signal] \ No newline at end of file diff --git a/test/test_outputport.py b/test/test_outputport.py deleted file mode 100644 index 35331670..00000000 --- a/test/test_outputport.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -B-ASIC test suite for InputPort -TODO: More info -""" -from b_asic import OutputPort, Signal, SignalSource, SignalDestination, Addition -import pytest - -@pytest.fixture -def signal(): - source = SignalSource(Addition(0), 1) - dest = SignalDestination(Addition(1),2) - return Signal(source, dest) - -def test_connect_multiple_signals(signal): - """ - make sure we can connect multiple signals to an output port - """ - outp_port = OutputPort(0) - outp_port.connect(signal) - - # create new signal - source = SignalSource(Addition(0), 3) - dest = SignalDestination(Addition(1),4) - new_signal = Signal(source, dest) - - outp_port.connect(new_signal) - outp_port.signal_count() == 2 - assert outp_port.signals() == [signal, new_signal] \ No newline at end of file diff --git a/test/test_signal.py b/test/test_signal.py deleted file mode 100644 index 35d51eb5..00000000 --- a/test/test_signal.py +++ /dev/null @@ -1,28 +0,0 @@ -from b_asic import Signal, SignalSource, SignalDestination -from b_asic.core_operations import Addition -import pytest - -# TODO mock operation -# Use port index - -@pytest.fixture -def operation(): - return Addition(0) - -@pytest.fixture -def signal_dest(operation): - return SignalDestination(operation, 0) - -@pytest.fixture -def signal_src(operation): - return SignalSource(operation, 0) - -def test_construct_source_signal(operation): - s = SignalSource(operation, 0) - assert True - - -def test_construct_signal(): - s = Signal(signal_src, signal_dest) - assert True - -- GitLab