from linked_queue import LinkedQueue as LinkedQueue
from red_black_tree import RedBlackTreeMap as RedBlackTreeMap

#------------------------------- LINKED QUEUE ---------------------------------

print("\nTEST LinkedQueue\n----------------\n")

# Opret ny kø.
queue = LinkedQueue()
# Test oprettelse af kø.
print("Længden af den nyoprettede kø, forventes at være 0:", queue.__len__())
print("Køen forventes at være tom og resultatet True:", queue.is_empty())
print()

# Fyld kø med elementer.
queue.enqueue(5)
queue.enqueue(10)
queue.enqueue(12)

# Test enqueue - print alle elementer i køen.
print("Køen forventes at indeholde følgende elementer; 5, 10, 12:")
queue.print_queue()
print("\n")

# Test links mellem elementer.
print("Det første elements next forventes at være 10:", queue._head._next._element)
print("Det andet elements next forventes at være 12:", queue._head._next._next._element)
print("Det sidste elements next forventes at være None:", queue._tail._next)
print("Køens længde forventes at være 3:", queue.__len__())
print("Køen forventes ikke at være tom og resultatet False:", queue.is_empty())
print()