def test_toggle_default(self, graph, sum_op): graph.add_operation(sum_op) return_value = graph.toggle_disabled(sum_op) assert graph.disabled(sum_op) is True assert return_value == [] return_value = graph.toggle_disabled(sum_op) assert graph.disabled(sum_op) is False assert return_value == []
def test_add_link(self, graph, sum_op, square_op): graph.add_operation(sum_op) graph.add_operation(square_op) graph.add_link(source=sum_op, dest=square_op, source_param="sum", dest_param="n") sum_inbound_links = graph.get_inbound_links(sum_op) sum_outbound_links = graph.get_outbound_links(sum_op) square_inbound_links = graph.get_inbound_links(square_op) square_outbound_links = graph.get_outbound_links(square_op) links = [("sum", "n")] assert sum_inbound_links[square_op] == [] assert sum_outbound_links[square_op] == links assert square_inbound_links[sum_op] == links assert square_outbound_links[sum_op] == []
def test_add_multiple_links(self, graph, sum_op, square_op): graph.add_operation(sum_op) graph.add_operation(square_op) import math def my_sqrt(num): return math.sqrt(num) sqrt_op = operation(my_sqrt, output_names=("sqrt"))() graph.add_operation(sqrt_op) # sum -> square -> sqrt # \ | # -------->------ graph.add_link(source=sum_op, dest=square_op, source_param="sum", dest_param="n") graph.add_link(source=square_op, dest=sqrt_op, source_param="square", dest_param="num") graph.add_link(source=sum_op, dest=sqrt_op, source_param="sum", dest_param="num") # sum -> square assert graph.get_inbound_links(sum_op)[square_op] == [] assert graph.get_outbound_links(sum_op)[square_op] == [("sum", "n")] assert graph.get_inbound_links(square_op)[sum_op] == [("sum", "n")] assert graph.get_outbound_links(square_op)[sum_op] == [] # square -> sqrt assert graph.get_inbound_links(square_op)[sqrt_op] == [] assert graph.get_outbound_links(square_op)[sqrt_op] == [("square", "num")] assert graph.get_inbound_links(sqrt_op)[square_op] == [("square", "num")] assert graph.get_outbound_links(sqrt_op)[square_op] == [] # sum -> sqrt assert graph.get_inbound_links(sum_op)[sqrt_op] == [] assert graph.get_outbound_links(sum_op)[sqrt_op] == [("sum", "num")] assert graph.get_inbound_links(sqrt_op)[sum_op] == [("sum", "num")] assert graph.get_outbound_links(sqrt_op)[sum_op] == []
def test_default_no_links(self, graph, sum_op): graph.add_operation(sum_op) return_value = graph.set_disabled(sum_op) assert graph.disabled(sum_op) is True assert return_value == []
def test_operations(self, graph, sum_op): graph.add_operation(sum_op) assert graph.operations == [sum_op]
def test_as_dask_graph_no_links(self, graph, sum_op): graph.add_operation(sum_op) dask_graph, end_ids = graph.as_dask_graph() assert len(dask_graph["0"]) == 1 assert dask_graph["0"][0].node is sum_op assert end_ids == ["0"]
def test_add_link_messing_dest(self, graph, sum_op, square_op): graph.add_operation(sum_op) with pytest.raises(ValueError): graph.add_link(sum_op, square_op, "sum", "n")