Skip to content
Snippets Groups Projects
bintree_test.py 1.11 KiB
Newer Older
#!/usr/bin/env python3
# *-* coding:utf-8 *-*

import unittest
from bintree import BinTree, BinTreeNode
class TestBinTree(unittest.TestCase):
    def test_create_has_root_none(self):
        tree = BinTree()
        self.assertIsNone(tree.root)

    def test_has_insert_and_search(self):
        tree = BinTree()
        tree.insert(1)
        self.assertIsInstance(tree.search(1), BinTreeNode)
        self.assertIsNone(tree.search(0))
    def test_insert_into_empty_tree(self):
        tree = BinTree()
        tree.insert(1)
        self.assertIsNotNone(tree.root)
        self.assertIsInstance(tree.root, BinTreeNode)
        self.assertEqual(tree.root.value, 1)
class TestBinTreeNode(unittest.TestCase):
    def test_creation(self):
        node = BinTreeNode(5)
        self.assertEqual(node.value, 5)

    def test_has_left_and_right(self):
        node = BinTreeNode(0)
        self.assertIn("left", node.__dict__)
        self.assertIn("right", node.__dict__)

    def test_has_insert_and_search(self):
        node = BinTreeNode(0)
        node.insert(1)
        node.search(1)

if __name__ == "__main__":
    unittest.main()