1. -- 
  2. -- Uwe R. Zimmer, Australia, 2013 
  3. -- 
  4.  
  5. with Queue_Pack_Private; use Queue_Pack_Private; 
  6. with Ada.Text_IO;        use Ada.Text_IO; 
  7.  
  8. procedure Queue_Test_Private is 
  9.  
  10.    Queue : Queue_Type; 
  11.    -- Queue_Copy : Queue_Type; 
  12.    Item : Element; 
  13.  
  14. begin 
  15.    -- Queue_Copy := Queue; 
  16.        -- compiler-error: left hand of assignment must not be limited type 
  17.    Enqueue (Item => 1, Queue => Queue); 
  18.  
  19.    Dequeue (Item, Queue); Put (Element'Image (Item)); 
  20.  
  21.    Dequeue (Item, Queue); -- will produce a 'Queue underflow' 
  22.    Put (Element'Image (Item)); 
  23.  
  24.    Put ("Queue is empty on exit: "); Put (Boolean'Image (Is_Empty (Queue))); 
  25.  
  26. exception 
  27.    when Queueunderflow => Put ("Queue underflow"); 
  28.    when Queueoverflow  => Put ("Queue overflow"); 
  29. end Queue_Test_Private;