from meshroom.core.graph import Graph def test_attribute_retrieve_linked_input_and_output_attributes(): """ Check that an attribute can retrieve the linked input and output attributes """ # n0 -- n1 -- n2 # \ \ # ---------- n3 g = Graph('') n0 = g.addNewNode('Ls', input='') n1 = g.addNewNode('Ls', input=n0.output) n2 = g.addNewNode('Ls', input=n1.output) n3 = g.addNewNode('AppendFiles', input=n1.output, input2=n2.output) # check that the attribute can retrieve its linked input attributes assert len(n0.input.getLinkedInAttributes()) == 0 assert len(n1.input.getLinkedInAttributes()) == 1 assert n1.input.getLinkedInAttributes()[0] == n0.output assert len(n1.output.getLinkedOutAttributes()) == 2 assert n1.output.getLinkedOutAttributes()[0] == n2.input assert n1.output.getLinkedOutAttributes()[1] == n3.input