Esempio n. 1
0
 def test_update(self):
     d = test_items_seq()
     tree = AnderssonTree()
     tree.update(d)
     self.assertEqual(len(tree), len(d))
     self.assertEqual(set(tree.keys()), set(x[0] for x in d))
     self.assertEqual(set(tree.values()), set(x[1] for x in d))
     self.check_aatree_properties(tree)
Esempio n. 2
0
 def test_pickle_protocol(self):
     s = test_items_seq()
     tree1 = AnderssonTree(s)
     pickle_str = pickle.dumps(tree1, -1)
     tree2 = pickle.loads(pickle_str)
     self.assertEqual(len(tree1), len(tree2))
     self.assertEqual(list(tree1.keys()), list(tree2.keys()))
     self.assertEqual(list(tree1.values()), list(tree2.values()))
     self.check_aatree_properties(tree1)
     self.check_aatree_properties(tree2)
Esempio n. 3
0
 def test_insert(self):
     s = test_items_seq()
     tree = AnderssonTree()
     size = len(tree)
     keys = [x[0] for x in s]
     keyset = set()
     shuffle(keys)
     for k in keys:
         keyset.add(k)
         tree.insert(k, k)
         size += 1
         self.assertEqual(len(tree), size)
         self.assertEqual(set(tree.keys()), keyset)
         self.check_aatree_properties(tree)
Esempio n. 4
0
 def test_remove_root(self):
     s = test_items_seq(1000)
     tree = AnderssonTree(s)
     self.check_aatree_properties(tree)
     size = len(tree)
     keys = [x[0] for x in s]
     keyset = set(keys)
     while len(keyset) > 0:
         k = tree.root().key
         keyset.remove(k)
         tree.remove(k)
         size -= 1
         self.assertEqual(len(tree), size)
         self.assertEqual(set(tree.keys()), keyset)
         self.check_aatree_properties(tree)
Esempio n. 5
0
 def test_remove(self):
     for i in range(10):
         s = test_items_seq(100)
         tree = AnderssonTree(s)
         self.check_aatree_properties(tree)
         size = len(tree)
         keys = [x[0] for x in s]
         keyset = set(keys)
         shuffle(keys)
         for k in keys:
             keyset.remove(k)
             tree.remove(k)
             size -= 1
             self.assertEqual(len(tree), size)
             self.assertEqual(set(tree.keys()), keyset)
             self.check_aatree_properties(tree, dump=False)
Esempio n. 6
0
 def test_keys(self):
     s = test_items_seq()
     tree = AnderssonTree(s)
     keys = set(x[0] for x in s)
     self.assertEqual(set(tree.keys()), keys)