def test_pop_only_element():
    ll = DoublyLinkedList()
    for data in [0, "a", 1.5, [], {}, DoublyLinkedList()]:
        ll.insert(0, data)
        assert (not ll.is_empty())
        assert (id(ll.peek_head()) == id(ll.peek_tail()))
        actual = ll.pop(0)
        assert (ll.is_empty())
        assert (actual == data)
def test_insert_head():
    ll = DoublyLinkedList()
    for i in range(ITERS):
        ll.insert_head(i)
        assert (len(ll) == i + 1)
        assert (ll.peek_head() == i)