1. -- 
  2. -- Uwe R. Zimmer, Australia, 2013 
  3. -- 
  4.  
  5. with Queue_Pack_Object_Base; use Queue_Pack_Object_Base; 
  6. with Ada.Text_IO;            use Ada.Text_IO; 
  7.  
  8. procedure Queue_Test_Object_Base is 
  9.  
  10.    Queue             : Queue_Type; 
  11.    Existing_item, 
  12.    Non_existing_item : Element; 
  13.  
  14. begin 
  15.    Enqueue (Item => 1, Queue => Queue); 
  16.  
  17.    Dequeue (Existing_item,     Queue); 
  18.    Put (Element'Image (Existing_item)); 
  19.  
  20.    Dequeue (Non_existing_item, Queue); -- will produce a 'Queue underflow' 
  21.    Put (Element'Image (Non_existing_item)); 
  22.  
  23.    if Is_Empty (Queue) then 
  24.       Put ("Queue is empty on exit"); 
  25.    else 
  26.       Put ("Queue is not empty on exit"); 
  27.    end if; 
  28.  
  29. exception 
  30.    when Queue_underflow => Put ("Queue underflow"); 
  31.    when Queue_overflow  => Put ("Queue overflow"); 
  32. end Queue_Test_Object_Base;