def test_peek_post_dequeue(): q = Queue() q.enqueue("apples") q.enqueue("bananas") q.dequeue() actual = q.peek() expected = "bananas" assert actual == expected
def test_peek(): q = Queue() q.enqueue("apple") q.enqueue("banana") q.enqueue("cucumber") actual = q.peek() expected = "apple" assert actual == expected
def breadth_first(self): if not self.root: raise Nope("there is no tree here") queue = Queue() queue.enqueue(self.root) values = [] while not queue.is_empty(): current = queue.dequeue() if current.left: queue.enqueue(current.left) if current.right: queue.enqueue(current.right) values.append(current.value) return values
def test_dequeue_when_full(): q = Queue() q.enqueue("apples") q.enqueue("bananas") actual = q.dequeue() expected = "apples" assert actual == expected
def test_enqueue_two(): q = Queue() q.enqueue("apples") q.enqueue("bananas") actual = q.peek() expected = "apples" assert actual == expected
def test_dequeue(): q = Queue() q.enqueue("apple") q.enqueue("banana") actual = q.dequeue() expected = "apple" assert actual == expected
def breadth_first(self, vertex): visited_vertex = [vertex] queue = Queue() queue.enqueue(vertex) while not queue.is_empty(): vertex = queue.dequeue() neighbors = [edge.vertex for edge in self.get_neighbors(vertex)] for neighbor in neighbors: if neighbor not in visited_vertex: visited_vertex.append(neighbor) queue.enqueue(neighbor) return visited_vertex
def test_exhausted(): q = Queue() q.enqueue("apple") q.enqueue("banana") q.enqueue("cucumber") q.dequeue() q.dequeue() q.dequeue() actual = q.is_empty() expected = True assert actual == expected
def test_enqueue(): q = Queue() q.enqueue("apple") actual = q.front.value expected = "apple" assert actual == expected
def test_is_empty(): q = Queue() actual = q.is_empty() expected = True assert actual == expected
def test_dequeue_when_empty(): q = Queue() with pytest.raises(InvalidOperationError): q.dequeue()
def test_peek_when_empty(): q = Queue() with pytest.raises(InvalidOperationError): q.peek()