diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py index 515d3287387578d2b286242cec4477d21b106c17..4a22e6dfdd6ac47b5cf5588cfeaad6cd6069a474 100644 --- a/b_asic/signal_flow_graph.py +++ b/b_asic/signal_flow_graph.py @@ -359,10 +359,17 @@ class SFG(AbstractOperation): for key, value in self._components_by_id.items(): if value is comp: output_string += "id: " + key + ", name: " + if comp.name != None: - output_string += comp.name + ", input: [" + output_string += comp.name + ", " + else: + output_string += "-, " + + if comp.type_name is "c": + output_string += "value: " + str(comp.value) + ", input: [" else: - output_string += "-, input: [" + output_string += "input: [" + counter_input = 0 for input in comp.inputs: counter_input += 1 diff --git a/test/test_print_sfg.py b/test/test_print_sfg.py index a8866f49be5859e95c205983ae1d0af3276e9b40..de0184e6c58ffbffb3b898569e3895c41665d37f 100644 --- a/test/test_print_sfg.py +++ b/test/test_print_sfg.py @@ -1,5 +1,5 @@ from b_asic.signal_flow_graph import SFG -from b_asic.core_operations import Addition +from b_asic.core_operations import Addition, Multiplication, Constant, ConstantAddition from b_asic.port import InputPort, OutputPort from b_asic.signal import Signal from b_asic.special_operations import Input, Output @@ -16,23 +16,27 @@ class TestPrintSfg: out1 = Output(add1, "OUT1") sfg = SFG(inputs=[inp1, inp2], outputs=[out1], name="sf1") - assert print(sfg) == ("id: add1, name: ADD1, input: [s1, s2], output: [s3]\nid: in1, name: INP1, input: [], output: [s1]\nid: in2, name: INP2, input: [], output: [s2]\nid: out1, name: OUT1, input: [s3], output: []\n") + assert sfg.__str__() == ("id: add1, name: ADD1, input: [s1, s2], output: [s3]\nid: in1, name: INP1, input: [], output: [s1]\nid: in2, name: INP2, input: [], output: [s2]\nid: out1, name: OUT1, input: [s3], output: []\n") - def test_print_signal_id(self): - in_port1 = InputPort(0, None) - out_port1 = OutputPort(0, None) + def test_print_add_mul(self): + inp1 = Input("INP1") + inp2 = Input("INP2") + inp3 = Input("INP3") + add1 = Addition(inp1, inp2, "ADD1") + mul1 = Multiplication(add1, inp3, "MUL1") + out1 = Output(mul1, "OUT1") + sfg = SFG(inputs=[inp1, inp2, inp3], outputs=[out1], name="mac_sfg") - test_signal1 = Signal(out_port1, in_port1) + assert sfg.__str__() == ("id: add1, name: ADD1, input: [s1, s2], output: [s5]\nid: in1, name: INP1, input: [], output: [s1]\nid: in2, name: INP2, input: [], output: [s2]\nid: mul1, name: MUL1, input: [s5, s3], output: [s4]\nid: in3, name: INP3, input: [], output: [s3]\nid: out1, name: OUT1, input: [s4], output: []\n") - assert test_signal1.type_name == "s" + def test_print_constant(self): + inp1 = Input("INP1") + const1 = Constant(3, "CONST") + add1 = Addition(const1, inp1, "ADD1") + out1 = Output(add1, "OUT1") - def test_print_operation_id(self): - test_operation = Addition() - assert test_operation.type_name == "add" + sfg = SFG(inputs=[inp1], outputs=[out1], name="sfg") - def test_print_operation_name(self): - test_operation = Addition() - test_operation._name = "my_add" - assert test_operation._name == "my_add" + assert sfg.__str__() == ("id: add1, name: ADD1, input: [s3, s1], output: [s2]\nid: c1, name: CONST, value: 3, input: [], output: [s3]\nid: in1, name: INP1, input: [], output: [s1]\nid: out1, name: OUT1, input: [s2], output: []\n") \ No newline at end of file