def test_remove(self): q = BoundedPriorityQueue(2) a = DummyNode(1) b = DummyNode(2) q.append(a) q.append(b) q.remove(a) self.assertEqual(len(q), 1) self.assertIs(q[0], b)
def test_sorted_priority(self): q = BoundedPriorityQueue() q.append(DummyNode(3)) q.append(DummyNode(1)) q.append(DummyNode(2)) self.assertTrue(sorted_equals_pop(q))
def test_limit_works_on_extend(self): q = BoundedPriorityQueue(2) q.extend([DummyNode(1), DummyNode(1), DummyNode(1)]) self.assertEqual(len(q), 2)
def test_limit_works_on_append(self): q = BoundedPriorityQueue(2) q.append(DummyNode(1)) q.append(DummyNode(1)) q.append(DummyNode(1)) self.assertEqual(len(q), 2)
def test_pop_works_with_order(self): q = BoundedPriorityQueue() q.append(DummyNode(3)) q.append(DummyNode(1)) q.append(DummyNode(2)) self.assertEqual(q.pop().value, 1)
def test_extend_works(self): q = BoundedPriorityQueue() q.extend([DummyNode(1), DummyNode(1)]) self.assertEqual(len(q), 2)
def test_append_works(self): q = BoundedPriorityQueue() q.append(DummyNode(1)) q.append(DummyNode(1)) self.assertEqual(len(q), 2)