Ejemplo n.º 1
0
    def test_add(self):
        bst = BST()
        bst.add(10)
        assert bst.root.val == 10
        assert bst.is_empty() is False
        assert bst.size == 1
        assert bst.levels == 1
        assert bst.serialize() == '10'
        assert bst.level_order() == [[10]]
        assert bst.pre_order() == [10]
        assert bst.in_order() == [10]
        assert bst.post_order() == [10]
        assert bst == BST(serialize='10')

        bst.add(1)
        assert bst.root.val == 10
        assert bst.is_empty() is False
        assert bst.size == 2
        assert bst.levels == 2
        assert bst.serialize() == '10,1,#'
        assert bst.level_order() == [[10], [1]]
        assert bst.pre_order() == [10, 1]
        assert bst.in_order() == [1, 10]
        assert bst.post_order() == [1, 10]

        bst.add(20)
        assert bst.root.val == 10
        assert bst.is_empty() is False
        assert bst.size == 3
        assert bst.levels == 2
        assert bst.serialize() == '10,1,20'
        assert bst.level_order() == [[10], [1, 20]]
        assert bst.pre_order() == [10, 1, 20]
        assert bst.in_order() == [1, 10, 20]
        assert bst.post_order() == [1, 20, 10]

        bst.add(5)
        bst.add(15)
        assert bst.root.val == 10
        assert bst.is_empty() is False
        assert bst.size == 5
        assert bst.levels == 3
        assert bst.serialize() == '10,1,20,#,5,15,#'
        assert bst.level_order() == [[10], [1, 20], [5, 15]]
        assert bst.pre_order() == [10, 1, 5, 20, 15]
        assert bst.in_order() == [1, 5, 10, 15, 20]
        assert bst.post_order() == [5, 1, 15, 20, 10]
Ejemplo n.º 2
0
 def test_empty_tree(self):
     bst = BST()
     assert bst.root is None
     assert bst.is_empty() is True
     assert bst.size == 0
     assert bst.levels == 0
     assert bst.__repr__() == "BST(serialize='')"
     assert bst.serialize() == ''
     assert bst.level_order() == []
     assert bst.pre_order() == []
     assert bst.in_order() == []
     assert bst.post_order() == []
     assert bst == BST()