import pytest from bonobo.constants import BEGIN from bonobo.structs import Graph identity = lambda x: x def test_graph_outputs_of(): g = Graph() # default graph only node assert len(g.outputs_of(BEGIN)) == 0 # unexisting node with pytest.raises(KeyError): g.outputs_of(0) # create node assert len(g.outputs_of(0, create=True)) == 0 assert len(g.outputs_of(0)) == 0 def test_graph_add_component(): g = Graph() assert len(g.nodes) == 0 g.add_node(identity) assert len(g.nodes) == 1 g.add_node(identity) assert len(g.nodes) == 2 def test_graph_add_chain(): g = Graph() assert len(g.nodes) == 0 g.add_chain(identity, identity, identity) assert len(g.nodes) == 3 assert len(g.outputs_of(BEGIN)) == 1