Esempio n. 1
0
 def test_pushpop(self):
     heap = RemovalHeap(reversed(ascii_uppercase))
     for u, l in zip(ascii_uppercase, ascii_lowercase):
         popped_item = heap.pushpop(l)
         heap.check()
         self.assertEqual(u, popped_item)
     self.assertSetEqual(set(ascii_lowercase), set(heap))
Esempio n. 2
0
 def test_remove(self):
     heap = RemovalHeap(reversed(ascii_uppercase))
     for c in reversed(ascii_uppercase):
         wanted = set(heap)
         wanted.remove(c)
         heap.remove(c)
         heap.check()
         self.assertSetEqual(wanted, set(heap))
     self.assertSetEqual(set(), set(heap))
Esempio n. 3
0
 def test_pop(self):
     heap = RemovalHeap(reversed(ascii_uppercase))
     sorted_items = []
     for c in ascii_uppercase:
         popped_item = heap.pop()
         heap.check()
         self.assertEqual(c, popped_item)
         sorted_items.append(popped_item)
     self.assertSequenceEqual(ascii_uppercase, sorted_items)
     self.assertSetEqual(set(), set(heap))
Esempio n. 4
0
 def test_push(self):
     heap = RemovalHeap()
     for c in reversed(ascii_uppercase):
         heap.push(c)
         heap.check()
     self.assertSetEqual(set(ascii_uppercase), set(heap))