Example #1
0
    def test_random_node(self):
        bst = BST([5, 3, 7, 2, 4, 6, 9])

        self.assertEquals(bst.get_at(6).data, 9)
        self.assertEquals(bst.get_at(0).data, 5)
        self.assertEquals(bst.get_at(1).data, 3)
        self.assertEquals(bst.get_at(2).data, 2)
        self.assertEquals(bst.get_at(3).data, 4)

        for i in range(0, 10):
            print random_node(bst)
    def test_common_ancestor(self):
        bst = BST.build_minimal_tree([1, 2, 3, 4, 5, 6, 7, 8, 9])

        self.assertEqual(bst.get(5), common_ancestor(bst.root, bst.get(1), bst.get(9)), "Incorrect ancestor")
        self.assertEqual(bst.get(3), common_ancestor(bst.root, bst.get(2), bst.get(4)), "Incorrect ancestor")
        self.assertEqual(bst.get(8), common_ancestor(bst.root, bst.get(6), bst.get(9)), "Incorrect ancestor")
        self.assertEqual(bst.get(5), common_ancestor(bst.root, bst.get(3), bst.get(2)), "Incorrect ancestor")
    def test_bst_sequences(self):
        bst = BST.build_minimal_tree([1, 2, 3, 4, 5, 6, 7])

        sequences = bst_sequences(bst.root)

        for sequence in sequences:
            print [x for x in sequence]