def test1(self): i = 0 for test in self.tests: node = createBSTWrapper(test[0]) self.assertTrue( list(BinaryTreeNode.getInOrderGenerator(node)) == test[0] and list(BinaryTreeNode.getPreOrderGenerator(node)) == test[1], '%i failed' % i) i += 1
def createBST(sortedList, start, end): if start > end: return None middle = (start + end) // 2 node = BinaryTreeNode(sortedList[middle]) node.left = createBST(sortedList, start, middle - 1) node.right = createBST(sortedList, middle + 1, end) return node
def test_1(self): for test in self.tests: treeRoot = BinaryTreeNode.buildTree(test[0], test[1]) levelLists = createLevelLinkedLists(treeRoot) levelLists2 = createLevelLinkedListsBFS(treeRoot) for i in range(len(test[2])): self.assertEqual(str(test[2][i]), str(levelLists[i])) self.assertEqual(str(test[2][i]), str(levelLists2[i]))
def test_1(self): root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3]) self.assertEqual(inOrderSuccessor(root.left).key, 1)
def test_3(self): root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3]) self.assertEqual(inOrderSuccessor(root.right), None)
def test1(self): i = 0 for test in self.tests: node = createBSTWrapper(test[0]) self.assertTrue(list(BinaryTreeNode.getInOrderGenerator(node)) == test[0] and list(BinaryTreeNode.getPreOrderGenerator(node)) == test[1] , '%i failed' %i) i += 1
def test_1(self): root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3]) self.assertEqual(commonAncestor(root, root.left, root.right), root)
def test_3(self): root = BinaryTreeNode.buildTree([1, 2, 3], [3, 2, 1]) self.assertEqual(commonAncestor(root, root.left, root.left), root.left)
def isBST(root): inOrderList = list(BinaryTreeNode.getInOrderGenerator(root)) return inOrderList == sorted(inOrderList)
def test_1(self): for test in self.tests: root = BinaryTreeNode.buildTree(test[1], test[0]) self.assertEqual(isBST(root), test[2]) self.assertEqual(isBST2(root), test[2])
def test_1(self): for test in self.tests: t1 = BinaryTreeNode.buildTree(test[0], test[1]) result = findSums(t1, test[2]) self.assertEqual(result, test[3])
def test_1(self): for test in self.tests: t1 = BinaryTreeNode.buildTree(test[0], test[1]) t2 = BinaryTreeNode.buildTree(test[2], test[3]) self.assertEquals(isSubtree(t1, t2), test[4])