Esempio n. 1
0
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() == '''\
Esempio n. 2
0
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())
Esempio n. 3
0
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