Пример #1
0
 def test_delete_big(self):
     inserts = [1000, 500, 1500, 250, 750, 625, 825, 626]
     my_tree = splayTree.SplayTree()
     for x in inserts:
         my_tree.insert(splayTree.Node(x))
     my_tree.delete(500)
     parent = my_tree.root.leftChild.rightChild.leftChild.parent.key
     self.assertEqual(parent, 750)
Пример #2
0
    def test_next(self):
        a = splayTree.Node(key=20)
        b = splayTree.Node(key=15)
        c = splayTree.Node(key=17)
        d = splayTree.Node(key=12)
        e = splayTree.Node(key=14)
        f = splayTree.Node(key=9)
        ## arrange nodes  -----------------------------------------------------
        f.parent, e.parent = d, d
        d.leftChild, d.rightChild = f, e

        d.parent, c.parent = b, b

        b.leftChild, b.rightChild = d, c

        b.parent = a

        a.leftChild = b

        self.assertEqual(d.next().key, 14)
Пример #3
0
 def test_leaf_true(self):
     self.assertTrue(splayTree.Node(key=1).isLeaf())
Пример #4
0
 def test_bothChildren_false(self):
     self.assertFalse(splayTree.Node(key=1).hasBothChildren())
Пример #5
0
 def test_bothChildren_true(self):
     self.assertTrue(
         splayTree.Node(
             key=1,
             left_child=splayTree.Node(key=2),
             right_child=splayTree.Node(key=3)).hasBothChildren())
Пример #6
0
 def test_anyChild_right(self):
     self.assertTrue(
         splayTree.Node(key=1,
                        right_child=splayTree.Node(key=2)).hasAnyChildren())
Пример #7
0
 def test_rightChild_true(self):
     self.assertTrue(
         splayTree.Node(key=1,
                        right_child=splayTree.Node(key=2)).hasRightChild())
Пример #8
0
 def test_leftChild_true(self):
     self.assertTrue(
         splayTree.Node(key=1,
                        left_child=splayTree.Node(key=2)).hasLeftChild())
Пример #9
0
 def test_find_root(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(1))
     self.assertEqual(x._find_msg(1), 'Found')
Пример #10
0
 def test_root_true(self):
     self.assertTrue(splayTree.Node(key=1).isRoot())
Пример #11
0
 def test_insert_node_left_left(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(key=3))
     x.insert(splayTree.Node(key=2))
     x.insert(splayTree.Node(key=1))
     self.assertEqual(x.root.leftChild.leftChild.key, 1)
Пример #12
0
 def test_insert_node_left(self):
     ## assert node is inserted to left child of root  ---------------------
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(key=2))
     x.insert(splayTree.Node(key=1))
     self.assertEqual(x.root.leftChild.key, 1)
Пример #13
0
 def test_insert_key(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(key=1))
     self.assertEqual(x.root.key, 1)
Пример #14
0
 def test_insert(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(key=1))
     self.assertFalse(x.root is None)
Пример #15
0
 def testRangeSum_a(self):
     x = splayTree.SplayTree()
     l = [87, 35, 81, 23, 13, 84, 41, 5, 31, 30]
     for e in l:
         x.insert(splayTree.Node(e))
     self.assertEqual(x.rangeSearch(10, 30).treeSum(), 66)
Пример #16
0
 def test_leaf_false(self):
     self.assertFalse(
         splayTree.Node(key=1, left_child=splayTree.Node(key=2)).isLeaf())
Пример #17
0
 def test_find_removed(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(1))
     x.delete(key=1)
     self.assertEqual(x._find_msg(1), 'Not found')
Пример #18
0
 def test_leftChild_false(self):
     self.assertFalse(splayTree.Node(key=1).hasLeftChild())
Пример #19
0
 def test_find_removed_big_found(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(10))
     x.insert(splayTree.Node(20))
     x.insert(splayTree.Node(2))
     x.insert(splayTree.Node(15))
     x.insert(splayTree.Node(8))
     x.insert(splayTree.Node(3))
     x.insert(splayTree.Node(1))
     x.insert(splayTree.Node(18))
     x.insert(splayTree.Node(5))
     x.insert(splayTree.Node(13))
     x.insert(splayTree.Node(19))
     x.delete(15)
     self.assertEqual(x._find_msg(20), 'Found')
Пример #20
0
 def test_rightChild_false(self):
     self.assertFalse(splayTree.Node(key=1).hasRightChild())
Пример #21
0
 def test_root_false(self):
     self.assertFalse(
         splayTree.Node(key=10, parent=splayTree.Node(key=5)).isRoot())
Пример #22
0
 def test_anyChild_false(self):
     self.assertFalse(splayTree.Node(key=1).hasAnyChildren())
Пример #23
0
 def test_find_modi_missing(self):
     x = splayTree.SplayTree()
     l = [87, 35, 81, 23, 13, 84, 41, 5, 31, 30]
     for e in l:
         x.insert(splayTree.Node(e))
     self.assertEqual(x._find_modi(key=85).key, 84)
Пример #24
0
 def test_bothChildren_falseRight(self):
     self.assertFalse(
         splayTree.Node(
             key=1, right_child=splayTree.Node(key=2)).hasBothChildren())
Пример #25
0
 def test_treeSum(self):
     x = splayTree.SplayTree()
     l = [87, 35, 81, 23, 13, 84, 41, 5, 31, 30]
     for e in l:
         x.insert(splayTree.Node(e))
     self.assertEqual(x.treeSum(), 430)
Пример #26
0
 def test_isRightChild_true(self):
     x = splayTree.SplayTree()
     x.insert(splayTree.Node(key=1))
     x.insert(splayTree.Node(key=2))
     self.assertTrue(x.root.rightChild.isRightChild())
Пример #27
0
 def test_leftDescendant_none(self):
     a = splayTree.Node(key=20)
     self.assertEqual(a.leftDescendant().key, 20)