def testRemove(self): node = Node() self.assertEqual(len(node.getNormalChilds()), 0) childNode1 = Node() childNode2 = Node() node.extend([childNode1, childNode2]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 2) node.remove(childNode1) self.assertNotIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), None) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 1) node.remove(childNode1) self.assertNotIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), None) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 1) with self.assertRaises(TypeError): node.remove([None]) self.assertNotIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), None) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 1) with self.assertRaises(TypeError): node.remove([object]) self.assertNotIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), None) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 1) with self.assertRaises(TypeError): node.remove(["a string is not a node object"]) self.assertNotIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), None) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 1)
def testExtend(self): node = Node() self.assertEqual(len(node.getNormalChilds()), 0) childNode1 = Node() childNode2 = Node() node.extend([childNode1, childNode2]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 2) childNode3 = Node() node.extend([childNode3]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 3) node.extend([]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 3) with self.assertRaises(TypeError): node.extend([None]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 3) with self.assertRaises(TypeError): node.append([object]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 3) with self.assertRaises(TypeError): node.append(["a string is not a node object"]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 3) with self.assertRaises(MultipleParentsError): node.extend([childNode1]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(len(node.getNormalChilds()), 3) childNode4 = Node() childNode5 = Node() with self.assertRaises(MultipleParentsError): node.extend([childNode4, childNode5, childNode5]) self.assertIn(childNode1, node.getNormalChilds()) self.assertIn(childNode2, node.getNormalChilds()) self.assertIn(childNode3, node.getNormalChilds()) self.assertEqual(childNode1.getParent(), node) self.assertEqual(childNode2.getParent(), node) self.assertEqual(childNode3.getParent(), node) self.assertEqual(childNode4.getParent(), None) self.assertEqual(childNode5.getParent(), None) self.assertEqual(len(node.getNormalChilds()), 3)