def test_pushpop(self): heap = OrderHeap(reversed(ascii_lowercase), key=self.key) for u, l in reversed(list(zip(ascii_uppercase, ascii_lowercase))): popped_item = heap.pushpop(u) heap.check() self.assertEqual(l, popped_item) self.assertSetEqual(set(ascii_uppercase), set(heap))
def test_pop(self): heap = OrderHeap(reversed(ascii_uppercase), key=self.key) sorted_items = [] for c in reversed(ascii_uppercase): popped_item = heap.pop() heap.check() self.assertEqual(c, popped_item) sorted_items.append(popped_item) self.assertSequenceEqual(list(reversed(ascii_uppercase)), sorted_items) self.assertSetEqual(set(), set(heap))
def test_push(self): heap = OrderHeap([], key=self.key) for c in reversed(ascii_uppercase): heap.push(c) heap.check() self.assertSetEqual(set(ascii_uppercase), set(heap))