def test_recurse_all_components(self): # Signature: name # Returns an iterator over this component and all subcomponents d = ComponentClass(name='D') e = ComponentClass(name='E') f = ComponentClass(name='F') g = ComponentClass(name='G') b = ComponentClass(name='B') b.insert_subnode(namespace='d', subnode=d) b.insert_subnode(namespace='e', subnode=e) c = ComponentClass(name='C') c.insert_subnode(namespace='f', subnode=f) c.insert_subnode(namespace='g', subnode=g) a = ComponentClass(name='A') a.insert_subnode(namespace='b', subnode=b) a.insert_subnode(namespace='c', subnode=c) # Construction of the objects causes cloning to happen: # Therefore we test by looking up and checking that there # are the correct component names: bNew = a.get_subnode('b') cNew = a.get_subnode('c') dNew = a.get_subnode('b.d') eNew = a.get_subnode('b.e') fNew = a.get_subnode('c.f') gNew = a.get_subnode('c.g') self.assertEquals( set(a.query.recurse_all_components), set([a, bNew, cNew, dNew, eNew, fNew, gNew])) self.assertEquals( set(bNew.query.recurse_all_components), set([bNew, dNew, eNew])) self.assertEquals( set(cNew.query.recurse_all_components), set([cNew, fNew, gNew])) self.assertEquals( set(dNew.query.recurse_all_components), set([dNew])) self.assertEquals( set(eNew.query.recurse_all_components), set([eNew])) self.assertEquals( set(fNew.query.recurse_all_components), set([fNew])) self.assertEquals( set(gNew.query.recurse_all_components), set([gNew]))
def test_recurse_all_components(self): # Signature: name # Returns an iterator over this component and all subcomponents d = ComponentClass(name='D') e = ComponentClass(name='E') f = ComponentClass(name='F') g = ComponentClass(name='G') b = ComponentClass(name='B') b.insert_subnode(namespace='d', subnode=d) b.insert_subnode(namespace='e', subnode=e) c = ComponentClass(name='C') c.insert_subnode(namespace='f', subnode=f) c.insert_subnode(namespace='g', subnode=g) a = ComponentClass(name='A') a.insert_subnode(namespace='b', subnode=b) a.insert_subnode(namespace='c', subnode=c) # Construction of the objects causes cloning to happen: # Therefore we test by looking up and checking that there # are the correct component names: bNew = a.get_subnode('b') cNew = a.get_subnode('c') dNew = a.get_subnode('b.d') eNew = a.get_subnode('b.e') fNew = a.get_subnode('c.f') gNew = a.get_subnode('c.g') self.assertEquals(set(a.query.recurse_all_components), set([a, bNew, cNew, dNew, eNew, fNew, gNew])) self.assertEquals(set(bNew.query.recurse_all_components), set([bNew, dNew, eNew])) self.assertEquals(set(cNew.query.recurse_all_components), set([cNew, fNew, gNew])) self.assertEquals(set(dNew.query.recurse_all_components), set([dNew])) self.assertEquals(set(eNew.query.recurse_all_components), set([eNew])) self.assertEquals(set(fNew.query.recurse_all_components), set([fNew])) self.assertEquals(set(gNew.query.recurse_all_components), set([gNew]))