def test_context(dependency_graph): with dependency_graph_context("some_graph"): register_delayed_value_node(1) register_delayed_value_node(2) assert not dependency_graph.delayed_values assert not dependency_graph.nodes() assert set(DependencyGraph("some_graph").nodes()) == {1, 2}
def single_node(): H.dependency_graph.clear() register_delayed_value_node(0) register_delayed_caller_node(1) register_delayed_value_node(2) register_function_call(dict(x=0), 1, (2, )) yield H.dependency_graph.clear()
def test_clear(dependency_graph): register_delayed_caller_node(1) register_delayed_value_node(2) dependency_graph.clear() assert 1 not in dependency_graph assert 1 not in dependency_graph.delayed_callers assert 2 not in dependency_graph assert 2 not in dependency_graph.delayed_values assert register_delayed_caller_node(1) == 0
def build_graph(): H.dependency_graph.clear() for i in range(1, 13): register_delayed_value_node(i) for i in range(101, 105): register_delayed_caller_node(i) for i, j in zip(range(70, 74), [1, 2, 3, 6]): register_delayed_caller_node(i) register_function_call({}, i, (j,)) register_function_call(dict(x=1, y=2, z=3), 101, (4, 5)) register_function_call(dict(x=6, y=4), 102, (7, 8)) register_function_call(dict(x=4, y=5), 103, (9, 10)) register_function_call(dict(x=7, y=8, z=9, w=10), 104, (11, 12)) yield H.dependency_graph.clear()
def test_register_function_call(dependency_graph): inputs = dict(x=1, y=2, z=3) outputs = (4, 5) for x in tuple(inputs.values()) + outputs: register_delayed_value_node(x) caller = 74 register_delayed_caller_node(caller) register_function_call(inputs, caller, outputs) assert sorted(dependency_graph.edges(data=True)) == sorted([(1, caller, { 'input_name': 'x' }), (2, caller, { 'input_name': 'y' }), (3, caller, { 'input_name': 'z' }), (caller, 4, { 'output_id': 0 }), (caller, 5, { 'output_id': 1 })])
def test_wrong_value_graph_validation(dependency_graph): register_delayed_value_node(1) register_delayed_value_node(2) dependency_graph.add_edge(1, 2) with pytest.raises(AssertionError): dependency_graph.validate()
def test_register_delayed_value(dependency_graph): register_delayed_value_node(1) assert 1 in dependency_graph.delayed_values assert 1 in dependency_graph.nodes()
def __init__(self): register_delayed_value_node(self)