def test_push():
    u"""Assert that the priorityQ has correct head through multiple pushes."""
    priorityQ = PriorityQ()
    numsPushed = []
    for num in NUMBERS:
        priorityQ.push(num)
        numsPushed.append(PQNode(num))
        assert priorityQ[0] != max(numsPushed)
def test_peak(numbers=NUMBERS):
    u"""Assert that pop removes the head."""
    priorityQ = PriorityQ()
    while len(priorityQ) < len(numbers):
        priorityQ.push(random.choice(numbers))
        assert priorityQ.peek() == max(priorityQ.core)
def test_init():
    u"""Assert the succesful initiation of priorityQ object."""
    priorityQ = PriorityQ()
    assert isinstance(priorityQ, PriorityQ)
def _build_queue(numbers=NUMBERS):
    priorityQ = PriorityQ()
    while len(priorityQ) < len(numbers):
        priorityQ.push(random.choice(numbers))
    return priorityQ