def test_remove_operation_linked(self, graph, sum_op, square_op, negative_op): graph.add_operations(sum_op, square_op, negative_op) graph.add_link(sum_op, square_op, "sum", "n") graph.add_link(square_op, negative_op, "square", "num") graph.remove_operation(sum_op) assert graph.operations == [square_op, negative_op] assert graph.links() == [(square_op, negative_op, "square", "num")]
def test_remove_operation_not_remove_orphan_links(self, graph, sum_op, square_op): graph.add_operations(sum_op, square_op) to_remove = graph.remove_operation(square_op, remove_orphan_links=False) assert graph.operations == [sum_op] assert to_remove == (graph.get_inbound_links(square_op), graph.get_outbound_links(square_op))
def test_remove_operation_not_in_graph(self, graph, sum_op): with pytest.raises(ValueError): graph.remove_operation(sum_op)
def test_remove_operation_bad_arg(self, graph): with pytest.raises(TypeError): graph.remove_operation("this should be an operation")
def test_remove_operation(self, graph, sum_op, square_op): graph.add_operations(sum_op, square_op) return_value = graph.remove_operation(sum_op) assert graph.operations == [square_op] assert return_value is None # no return by default