def make_graph(self, nodes=(), connections=()):
     scope = DumbClass()
     dep = DependencyGraph()
     for name in nodes:
         dep.add(name)
     for src,dest in connections:
         dep.connect(src, dest)
     return dep, scope
def _make_graph(comps=(), variables=(), connections=(), inputs=('a','b'), outputs=('c','d'),
                states=(), resids=()):
    dep = DependencyGraph()
    scope = DumbClass(dep, '')
    for comp in comps:
        if isinstance(comp, basestring):
            comp = DumbClass(dep, comp, inputs=inputs, outputs=outputs, 
                             states=states, resids=resids)
        dep.add_component(comp.name, comp)
        setattr(scope, comp.name, comp)

    for v, iotype in variables:
        dep.add_boundary_var(scope, v, iotype=iotype)

    for src, dest in connections:
        dep.connect(scope, src, dest)
        
    return dep, scope
 def test_find_all_connecting(self):
     dep = DependencyGraph()
     for node in ['A','B','C','D','E','F']:
         dep.add(node)
     self.assertEqual(dep.find_all_connecting('A','F'), set())
     dep.connect('A.c', 'B.a')
     dep.connect('B.c', 'C.a')
     dep.connect('C.d', 'D.a')
     dep.connect('A.d', 'D.b')
     dep.connect('A.d', 'F.b')
     self.assertEqual(dep.find_all_connecting('A','F'), set(['A','F']))
     self.assertEqual(dep.find_all_connecting('A','D'), set(['A','B','C','D']))
     dep.connect('C.d', 'F.a')
     self.assertEqual(dep.find_all_connecting('A','F'), set(['A','B','C','F']))