def test_ith_successor(self): T = os_tree([41, 38, 31, 12, 19, 9]) self.assertEquals(T.iterative_tree_search(9).ith_successor(1).key, 12) self.assertEquals(T.iterative_tree_search(9).ith_successor(2).key, 19) self.assertEquals(T.iterative_tree_search(9).ith_successor(3).key, 31) self.assertEquals(T.iterative_tree_search(9).ith_successor(4).key, 38) self.assertEquals(T.iterative_tree_search(9).ith_successor(5).key, 41)
def test_insert_three(self): T = os_tree([41, 38, 31]) self.assertEquals(T.root, T.iterative_tree_search(38)) self.assertEquals(T.nil.size, 0) self.wrap(T, 38, 31, 41, -1, 1, 3) self.wrap(T, 31, -1, -1, 38, 0, 1) self.wrap(T, 41, -1, -1, 38, 0, 1)
def test_delete_five(self): T = os_tree([41, 38, 31, 12, 19, 9]) T.delete(T.iterative_tree_search(9)) T.delete(T.iterative_tree_search(12)) T.delete(T.iterative_tree_search(19)) T.delete(T.iterative_tree_search(31)) T.delete(T.iterative_tree_search(38)) self.wrap(T, 41, -1, -1, -1, 1, 1)
def test_delete_two(self): T = os_tree([41, 38, 31, 12, 19, 9]) T.delete(T.iterative_tree_search(9)) T.delete(T.iterative_tree_search(12)) self.wrap(T, 38, 19, 41, -1, 1, 4) self.wrap(T, 19, -1, 31, 38, 1, 2) self.wrap(T, 41, -1, -1, 38, 1, 1) self.wrap(T, 31, -1, -1, 19, 0, 1)
def test_delete_one(self): T = os_tree([41, 38, 31, 12, 19, 9]) T.delete(T.iterative_tree_search(9)) self.wrap(T, 38, 19, 41, -1, 1, 5) self.wrap(T, 19, 12, 31, 38, 0, 3) self.wrap(T, 41, -1, -1, 38, 1, 1) self.wrap(T, 12, -1, -1, 19, 1, 1) self.wrap(T, 31, -1, -1, 19, 1, 1)
def test_rank(self): T = os_tree([41, 38, 31, 12, 19, 9]) self.assertEquals(T.rank(T.iterative_tree_search(41)), 6) self.assertEquals(T.rank(T.iterative_tree_search(38)), 5) self.assertEquals(T.rank(T.iterative_tree_search(31)), 4) self.assertEquals(T.rank(T.iterative_tree_search(12)), 2) self.assertEquals(T.rank(T.iterative_tree_search(19)), 3) self.assertEquals(T.rank(T.iterative_tree_search(9)), 1)
def test_key_rank(self): T = os_tree([41, 38, 31, 12, 19, 9]) self.assertEquals(T.root.key_rank(41), 6) self.assertEquals(T.root.key_rank(38), 5) self.assertEquals(T.root.key_rank(31), 4) self.assertEquals(T.root.key_rank(12), 2) self.assertEquals(T.root.key_rank(19), 3) self.assertEquals(T.root.key_rank(9), 1)
def test_insert_four(self): T = os_tree([41, 38, 31, 12]) self.assertEqual(T.root, T.iterative_tree_search(38)) self.assertEqual(T.nil.size, 0) self.wrap(T, 38, 31, 41, -1, 1, 4) self.wrap(T, 31, 12, -1, 38, 1, 2) self.wrap(T, 41, -1, -1, 38, 1, 1) self.wrap(T, 12, -1, -1, 31, 0, 1)
def test_insert_five(self): T = os_tree([41, 38, 31, 12, 19]) self.assertEqual(T.root, T.iterative_tree_search(38)) self.assertEqual(T.nil.size, 0) self.wrap(T, 38, 19, 41, -1, 1, 5) self.wrap(T, 19, 12, 31, 38, 1, 3) self.wrap(T, 41, -1, -1, 38, 1, 1) self.wrap(T, 12, -1, -1, 19, 0, 1) self.wrap(T, 31, -1, -1, 19, 0, 1)
def test_insert_six(self): T = os_tree([41, 38, 31, 12, 19, 9]) self.assertEquals(T.root, T.iterative_tree_search(38)) self.assertEquals(T.nil.size, 0) self.wrap(T, 38, 19, 41, -1, 1, 6) self.wrap(T, 19, 12, 31, 38, 0, 4) self.wrap(T, 41, -1, -1, 38, 1, 1) self.wrap(T, 12, 9, -1, 19, 1, 2) self.wrap(T, 31, -1, -1, 19, 1, 1) self.wrap(T, 9, -1, -1, 12, 0, 1)
def test_delete_six(self): T = os_tree([41, 38, 31, 12, 19, 9]) T.delete(T.iterative_tree_search(9)) T.delete(T.iterative_tree_search(12)) T.delete(T.iterative_tree_search(19)) T.delete(T.iterative_tree_search(31)) T.delete(T.iterative_tree_search(38)) T.delete(T.iterative_tree_search(41)) self.assertEquals(T.root, T.nil) self.assertEquals(T.nil.size, 0)
def test_select(self): T = os_tree([41, 38, 31, 12, 19, 9]) self.assertEquals(T.root.select_recursive(1).key, 9) self.assertEquals(T.root.select_recursive(2).key, 12) self.assertEquals(T.root.select_recursive(3).key, 19) self.assertEquals(T.root.select_recursive(4).key, 31) self.assertEquals(T.root.select_recursive(5).key, 38) self.assertEquals(T.root.select_recursive(6).key, 41) self.assertEquals(T.root.select_iterative(1).key, 9) self.assertEquals(T.root.select_iterative(2).key, 12) self.assertEquals(T.root.select_iterative(3).key, 19) self.assertEquals(T.root.select_iterative(4).key, 31) self.assertEquals(T.root.select_iterative(5).key, 38) self.assertEquals(T.root.select_iterative(6).key, 41)
def test_insert_one(self): T = os_tree([41]) print T.root.iterative_tree_search(41).p.key self.assertEquals(T.root, T.root.iterative_tree_search(41)) self.assertEquals(T.nil.size, 0) self.wrap(T, 41, -1, -1, -1, 1, 1)
def test_insert_two(self): T = os_tree([41, 38]) self.assertEquals(T.root, T.iterative_tree_search(41)) self.assertEquals(T.nil.size, 0) self.wrap(T, 41, 38, -1, -1, 1, 2) self.wrap(T, 38, -1, -1, 41, 0, 1)