diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..986af94cc7341f48ba736e6f9d934c8eb706c079 --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/fixtures/signal.py b/test/fixtures/signal.py new file mode 100644 index 0000000000000000000000000000000000000000..5fbdcf2b4e5e50c9728fb50529835a6fb501fc4c --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/port/test_inputport.py b/test/port/test_inputport.py new file mode 100644 index 0000000000000000000000000000000000000000..d761900a500979d09a7b2584a9249eefda914d27 --- /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 0000000000000000000000000000000000000000..5f7b8f49f856e891fa6e70ce77cc19e464f6954d --- /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 f4e039a98c48828b99285525d359c89dd51b140d..56cb9be227149c957bf77f73ed4f1301e54fac16 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 0cb3cab9ead9862de4a3f16f42a47cd26bf81a15..0000000000000000000000000000000000000000 --- 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 35331670f829da40fa060142f9e68e06aaba2fa5..0000000000000000000000000000000000000000 --- 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 35d51eb51eb75ec0c619b9137457e95d263dc580..0000000000000000000000000000000000000000 --- 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 -