def test_dequeue_one_item_on_queue(self): value = 5 queue = FifoQueue() queue.enqueue(value) removed_item = queue.dequeue() self.assertEqual(0, queue.size) self.assertEqual(5, removed_item)
def breadth_first_search(self): visited_nodes = [] # Use a queue to keep track of all the nodes you need to visit node_queue = FifoQueue() # Set starting point as no root node current_node = self.edges[0].node_from visited_nodes.append(current_node) while current_node: new_edge = self._return_new_edge(current_node, visited_nodes) if new_edge: visited_nodes.append(new_edge.node_to) node_queue.enqueue(new_edge.node_to) else: current_node = node_queue.dequeue() visited_node_values = [node.value for node in visited_nodes] return visited_node_values
def test_dequeue_no_items_on_queue(self): queue = FifoQueue() removed_item = queue.dequeue() self.assertEqual(0, queue.size) self.assertEqual(None, removed_item)