diff --git a/test/test_sfg.py b/test/test_sfg.py index af9dfe179751fd620d5880494215c3b1cfb8571b..444a017d68d9deb5adac9a833f64e5263b883839 100644 --- a/test/test_sfg.py +++ b/test/test_sfg.py @@ -89,6 +89,49 @@ class TestDeepCopy: component_copy = mac_sfg_deep_copy.find_by_id(g_id) assert component.name == component_copy.name + def test_deep_copy_no_duplicate_with_call(self): + inp1 = Input("INP1") + inp2 = Input("INP2") + inp3 = Input("INP3") + add1 = Addition(inp1, inp2, "ADD1") + mul1 = Multiplication(add1, inp3, "MUL1") + out1 = Output(mul1, "OUT1") + + mac_sfg = SFG(inputs=[inp1, inp2], + outputs=[out1], name="mac_sfg") + + mac_sfg_deep_copy = mac_sfg() + + for g_id, component in mac_sfg._components_by_id.items(): + component_copy = mac_sfg_deep_copy.find_by_id(g_id) + assert component.name == component_copy.name + + def test_deep_copy_with_call(self): + inp1 = Input("INP1") + inp2 = Input("INP2") + inp3 = Input("INP3") + add1 = Addition(None, None, "ADD1") + add2 = Addition(None, None, "ADD2") + mul1 = Multiplication(None, None, "MUL1") + out1 = Output(None, "OUT1") + + add1.input(0).connect(inp1, "S1") + add1.input(1).connect(inp2, "S2") + add2.input(0).connect(add1, "S4") + add2.input(1).connect(inp3, "S3") + mul1.input(0).connect(add1, "S5") + mul1.input(1).connect(add2, "S6") + out1.input(0).connect(mul1, "S7") + + mac_sfg = SFG(inputs=[inp1, inp2], + outputs=[out1], name="mac_sfg") + + mac_sfg_deep_copy = mac_sfg() + + for g_id, component in mac_sfg._components_by_id.items(): + component_copy = mac_sfg_deep_copy.find_by_id(g_id) + assert component.name == component_copy.name + class TestComponents: