Exemple #1
0
 def test_pushpop(self):
     heap = Heap(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))
Exemple #2
0
 def test_push(self):
     heap = Heap()
     wanted = set()
     not_wanted = set(ascii_uppercase)
     for c in reversed(ascii_uppercase):
         heap.push(c)
         wanted.add(c)
         not_wanted.remove(c)
         self.assertHeap(wanted, not_wanted, heap)
     self.assertHeap(ascii_uppercase, [], heap)
Exemple #3
0
 def test_push(self):
     heap = Heap()
     wanted = set()
     not_wanted = set(ascii_uppercase)
     for c in reversed(ascii_uppercase):
         heap.push(c)
         wanted.add(c)
         not_wanted.remove(c)
         self.assertHeap(wanted, not_wanted, heap)
     self.assertHeap(ascii_uppercase, [], heap)
Exemple #4
0
 def test_pop(self):
     heap = Heap(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))
Exemple #5
0
 def test_pushpop(self):
     heap = Heap(reversed(ascii_uppercase))
     wanted = set(ascii_uppercase)
     not_wanted = set()
     for u, l in zip(ascii_uppercase, ascii_lowercase):
         self.assertEqual(u, heap.pushpop(l))
         wanted.add(l)
         wanted.remove(u)
         not_wanted.add(u)
         self.assertHeap(wanted, not_wanted, heap)
     self.assertHeap(ascii_lowercase, ascii_uppercase, heap)
Exemple #6
0
 def test_pushpop(self):
     heap = Heap(reversed(ascii_uppercase))
     wanted = set(ascii_uppercase)
     not_wanted = set()
     for u, l in zip(ascii_uppercase, ascii_lowercase):
         self.assertEqual(u, heap.pushpop(l))
         wanted.add(l)
         wanted.remove(u)
         not_wanted.add(u)
         self.assertHeap(wanted, not_wanted, heap)
     self.assertHeap(ascii_lowercase, ascii_uppercase, heap)
Exemple #7
0
 def test_pop(self):
     heap = Heap(reversed(ascii_uppercase))
     wanted = set(ascii_uppercase)
     not_wanted = set()
     sorted_items = []
     for c in ascii_uppercase:
         self.assertEqual(c, heap.pop())
         wanted.remove(c)
         not_wanted.add(c)
         self.assertHeap(wanted, not_wanted, heap)
         sorted_items.append(c)
     self.assertHeap([], ascii_uppercase, heap)
Exemple #8
0
 def test_pop(self):
     heap = Heap(reversed(ascii_uppercase))
     wanted = set(ascii_uppercase)
     not_wanted = set()
     sorted_items = []
     for c in ascii_uppercase:
         self.assertEqual(c, heap.pop())
         wanted.remove(c)
         not_wanted.add(c)
         self.assertHeap(wanted, not_wanted, heap)
         sorted_items.append(c)
     self.assertHeap([], ascii_uppercase, heap)
Exemple #9
0
 def test_peek(self):
     heap = Heap(reversed(ascii_uppercase))
     self.assertEqual('A', heap.peek())
     self.assertEqual('A', heap[0])
Exemple #10
0
 def test_pushpop_on_empty_heap(self):
     self.assertEqual('A', Heap().pushpop('A'))
Exemple #11
0
 def test_check_variant_invalid(self):
     heap = Heap(range(100))
     heap[3] = 10000
     self.assertRaises(InvalidHeapError, heap.check)
Exemple #12
0
 def test_check(self):
     Heap().check()
     Heap(ascii_uppercase).check()
     Heap(reversed(ascii_uppercase)).check()
Exemple #13
0
 def test_init(self):
     self.assertHeap([], [], Heap())
     self.assertHeap([], [], Heap([]))
     self.assertHeap(ascii_uppercase, [], Heap(ascii_uppercase))
Exemple #14
0
 def test_repr(self):
     heap = Heap(reversed(ascii_uppercase))
     self.assertHeap(heap, [], eval(repr(heap)))
Exemple #15
0
 def test_remove_not_implemented(self):
     heap = Heap(reversed(ascii_uppercase))
     self.assertRaises(NotImplementedError, heap.remove, 'A')
Exemple #16
0
 def test_peek(self):
     heap = Heap(reversed(ascii_uppercase))
     self.assertEqual('A', heap.peek())
     self.assertEqual('A', heap[0])
Exemple #17
0
 def test_push(self):
     heap = Heap()
     for c in reversed(ascii_uppercase):
         heap.push(c)
         heap.check()
     self.assertSetEqual(set(ascii_uppercase), set(heap))