def testAddRemoveChildren(self): # test the add/remove functions children = [Node() for i in range(0, 5)] parentNode = Node() parentNode.addChildren(children, where='front') self.assert_(parentNode.children == children) child = Node() parentNode.addChild(child, where='back') self.assert_(parentNode.children == children + [child]) self.assert_(child.parent == parentNode) parentNode.removeChild(child) self.assert_(parentNode.children == children) self.assert_(child.parent == None) parentNode.removeAllChildren() self.assert_(parentNode.children == []) # test some bogus operations self.assertRaises(ValueError, parentNode.removeChild, child) self.assertRaises(ValueError, parentNode.removeChildren, children) #self.assertRaises( IndexError, parentNode.addChild, child, where = 666 ) self.assertRaises(IndexError, parentNode.addChild, child, where='qwertz') #self.assertRaises( IndexError, parentNode.addChildren, children, where = 666 ) self.assertRaises(IndexError, parentNode.addChildren, children, where='qwertz') # test re-parenting of child parent1 = Node() parent2 = Node() child2 = Node() parent1.addChild(child2) self.assert_(parent1.children == [child2]) self.assert_(child2.parent == parent1) parent2.addChild(child2) self.assert_(parent2.children == [child2]) self.assert_(parent1.children == []) self.assert_(child2.parent == parent2) child2.parent = None self.assert_(parent2.children == []) self.assert_(child2.parent == None) child2.parent = parent1 self.assert_(parent1.children == [child2]) self.assert_(child2.parent == parent1) child2.parent = child2.parent self.assert_(parent1.children == [child2]) self.assert_(child2.parent == parent1)
def testNodeWithChildren(self): children = [Node(name='child %d' % i) for i in range(0, 5)] parentNode = Node(name='parent') parentNode.addChildren(children) root = self.doSaveLoad(parentNode) self.assert_(root.children[4].parent is root) self.assert_(root.children[4].root is root)
def testNodeWithChildren(self): children = [ Node( name = 'child %d' % i ) for i in range(0,5) ] parentNode = Node( name = 'parent' ) parentNode.addChildren( children ) root = self.doSaveLoad( parentNode ) self.assert_( root.children[4].parent is root ) self.assert_( root.children[4].root is root )
def testAddRemoveChildren(self): # test the add/remove functions children = [ Node() for i in range(0,5) ] parentNode = Node() parentNode.addChildren( children, where = 'front' ) self.assert_( parentNode.children == children ) child = Node() parentNode.addChild( child, where = 'back' ) self.assert_( parentNode.children == children + [ child ] ) self.assert_( child.parent == parentNode ) parentNode.removeChild( child ) self.assert_( parentNode.children == children ) self.assert_( child.parent == None ) parentNode.removeAllChildren() self.assert_( parentNode.children == [] ) # test some bogus operations self.assertRaises( ValueError, parentNode.removeChild, child ) self.assertRaises( ValueError, parentNode.removeChildren, children ) #self.assertRaises( IndexError, parentNode.addChild, child, where = 666 ) self.assertRaises( IndexError, parentNode.addChild, child, where = 'qwertz' ) #self.assertRaises( IndexError, parentNode.addChildren, children, where = 666 ) self.assertRaises( IndexError, parentNode.addChildren, children, where = 'qwertz' ) # test re-parenting of child parent1 = Node() parent2 = Node() child2 = Node() parent1.addChild( child2 ) self.assert_( parent1.children == [ child2 ] ) self.assert_( child2.parent == parent1 ) parent2.addChild( child2 ) self.assert_( parent2.children == [ child2 ] ) self.assert_( parent1.children == [] ) self.assert_( child2.parent == parent2 ) child2.parent = None self.assert_( parent2.children == [] ) self.assert_( child2.parent == None ) child2.parent = parent1 self.assert_( parent1.children == [ child2 ] ) self.assert_( child2.parent == parent1 ) child2.parent = child2.parent self.assert_( parent1.children == [ child2 ] ) self.assert_( child2.parent == parent1 )