예제 #1
0
def test_peek_post_dequeue():
    q = Queue()
    q.enqueue("apples")
    q.enqueue("bananas")
    q.dequeue()
    actual = q.peek()
    expected = "bananas"
    assert actual == expected
예제 #2
0
def test_peek():
    q = Queue()
    q.enqueue("apple")
    q.enqueue("banana")
    q.enqueue("cucumber")
    actual = q.peek()
    expected = "apple"
    assert actual == expected
예제 #3
0
 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
예제 #4
0
def test_dequeue_when_full():
    q = Queue()
    q.enqueue("apples")
    q.enqueue("bananas")
    actual = q.dequeue()
    expected = "apples"
    assert actual == expected
예제 #5
0
def test_enqueue_two():
    q = Queue()
    q.enqueue("apples")
    q.enqueue("bananas")
    actual = q.peek()
    expected = "apples"
    assert actual == expected
예제 #6
0
def test_dequeue():
    q = Queue()
    q.enqueue("apple")
    q.enqueue("banana")
    actual = q.dequeue()
    expected = "apple"
    assert actual == expected
예제 #7
0
 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
예제 #8
0
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
예제 #9
0
def test_enqueue():
    q = Queue()
    q.enqueue("apple")
    actual = q.front.value
    expected = "apple"
    assert actual == expected
예제 #10
0
def test_is_empty():
    q = Queue()
    actual = q.is_empty()
    expected = True
    assert actual == expected
예제 #11
0
def test_dequeue_when_empty():
    q = Queue()
    with pytest.raises(InvalidOperationError):
        q.dequeue()
예제 #12
0
def test_peek_when_empty():
    q = Queue()
    with pytest.raises(InvalidOperationError):
        q.peek()