def test_string_representations(): """Print the Graph.""" graph = Graph() start = NodeForTesting(name='Start', graph=graph) n1 = NodeForTesting(name='Node1', graph=graph) n2 = NodeForTesting(name='Node2', graph=graph) end = NodeForTesting(name='End', graph=graph) start.outputs['out'] >> n1.inputs['in1'] start.outputs['out'] >> n2.inputs['in1']['0'] n1.outputs['out'] >> end.inputs['in1']['1'] n2.outputs['out']['0'] >> end.inputs['in1']['2'] n2.outputs['out']['0'] >> end.inputs['in2'] assert str(graph) == '\ +------------+ +------------+ +--------------------+\n\ | Start | | Node1 | | End |\n\ |------------| |------------| |--------------------|\n\ o in1<> | +--->o in1<> | % in1 |\n\ o in2<> | | o in2<> | +------->o in1.1<> |\n\ | out o-----+ | out o---------+ +--->o in1.2<> |\n\ | out2 o | | out2 o |--->o in2<> |\n\ +------------+ | +------------+ | | out o\n\ | +--------------------+ | | out2 o\n\ | | Node2 | | +--------------------+\n\ | |--------------------| | \n\ | % in1 | | \n\ +--->o in1.0<> | | \n\ o in2<> | | \n\ | out % | \n\ | out.0 o-----+ \n\ | out2 o \n\ +--------------------+ ' assert graph.list_repr() == '''\
def test_string_representations(): """Print the Graph.""" start = NodeForTesting('start') end = NodeForTesting('end') start.outputs['out'] >> end.inputs['in1'] graph = Graph(nodes=[start, end]) print(graph) print(graph.list_repr())
workers.outputs['workers']['2'].connect(build_roof.inputs['workers']['0']) workers.outputs['workers']['3'].connect(build_roof.inputs['workers']['1']) # Connecting nodes can be done via the bit shift operator as well build_walls.outputs['workers']['0'] >> party.inputs['attendees']['0'] build_walls.outputs['workers']['1'] >> party.inputs['attendees']['2'] build_roof.outputs['workers']['0'] >> party.inputs['attendees']['1'] build_roof.outputs['workers']['1'] >> party.inputs['attendees']['3'] # Initial values can be set onto the input plugs for initialization party.inputs['attendees']['4'].value = 'Homeowner' print('---------------------------------------') print(graph.name) print(graph) print(graph.list_repr()) print('---------------------------------------') graph.evaluate() print('---------------------------------------') graph = Graph(name='Celebrate a Birthday Party') @Node(outputs=['people']) def InvitePeople(amount): people = ['John', 'Jane', 'Mike', 'Michelle'] d = {'people.{0}'.format(i): people[i] for i in range(amount)} d['people'] = {people[i]: people[i] for i in range(amount)} return d