def test_dequeue():
    pass
    q = Queue()
    q.enqueue("dog")
    q.dequeue()
    actual = q.is_empty
    expected = True
def test_peek():
    q = Queue()
    q.enqueue("one")
    q.enqueue("two")
    q.enqueue("three")
    q.dequeue()
    q.dequeue()
    actual = q.peek()
    expected = "three"
    assert actual == expected
def test_dequeue_multiple():
    q = Queue()
    q.enqueue("one")
    q.enqueue("two")
    q.enqueue("three")
    q.enqueue("four")
    q.dequeue()
    actual = q.front.val
    expected = "two"
    assert actual == expected
def test_dequeue_three():
    shelter = Queue()

    shelter.enqueue({'type': 'dog', 'name': 'fido'})
    shelter.enqueue({'type': 'cat', 'name': 'mittens'})
    shelter.enqueue({'type': 'dog', 'name': 'bud'})
    # import pdb; pdb.set_trace()
    assert shelter.dequeue('cat') == 'mittens'
    assert shelter.dequeue('dog') == 'fido'
    assert shelter.dequeue('dog') == 'bud'
def test_dequeue_one():
    shelter = Queue()

    shelter.enqueue({'type': 'dog', 'name': 'fido'})
    shelter.enqueue({'type': 'cat', 'name': 'mittens'})
    shelter.enqueue({'type': 'dog', 'name': 'bud'})

    assert shelter.dequeue('cat') == 'mittens'
def test_dequeue_missing_cat():
    shelter = Queue()
    shelter.enqueue("dog")
    shelter.enqueue("dog")
    shelter.enqueue("dog")
    shelter.enqueue("dog")
    actual = shelter.dequeue("cat")
    expected = "Null"
    assert actual == expected
def test_dequeue_invalid_preference():
    shelter = Queue()
    shelter.enqueue("dog")
    shelter.enqueue("dog")
    shelter.enqueue("dog")
    shelter.enqueue("dog")
    actual = shelter.dequeue("pig")
    expected = "Null"
    assert actual == expected
def test_dequeue_from_empty():
    shelter = Queue()
    actual = shelter.dequeue("cat")
    expected = "No animals available"
    assert actual == expected