http://www.adaconcept.com/programs/elfedes_es_atadas/alap_csomag-teszt.adb
-- Megjegyzes: ez egy parameter nelkuli eljaras (ami akar a foprogramunk is lehetne...)

procedure Alap_Csomag.Teszt is

   type Teszt_Eredmeny_Tipus is (Atment_A_Teszten, Nem_Ment_At_A_Teszten);

   function Mukodese_Helyes    return Teszt_Eredmeny_Tipus renames Atment_A_Teszten;               -- | felsorolasi tipus ertek atnevezese fuggvennyel
   function Mukodese_Helytelen return Teszt_Eredmeny_Tipus renames Nem_Ment_At_A_Teszten;          -- |

begin
   -- Ada.Text_IO.Put_Line("Teszt");                                                               -- termeszetesen itt sem erjuk el kozvetlenul a csomagot
   Atnevezett_Ada_Text_IO.Put_Line("Teszt indul");


   -- A teszteles menete:
   -- inicializalas, tesztelendo kod hivasa, elvart ertek ellenorzese
   -- Mindig figyeljunk oda, hogy mi az pontosan, amit le szeretnenk tesztelni!

   -- FIGYELEM!!!
   -- Nem "egesz ertekek" (Standard.Float) osszehasonlitasanak eredmenye kulonbozo rendszereken es
   -- kolonbozo forditok eseten mas es mas lehet.
   -- Az, hogy mikor tekintunk ket Standard.Float tipusu erteket egyenlonek nagyban fugg a feladattol!
   -- Itt es most, hogy ravilagitsunk a problemara ezt a megvalositast valasztottuk.

   if abs(Float((1,3)) - (1.0 / 3.0)) < Standard.Float'Epsilon then                                                         -- FIGYELEM!!! a "-" is egy nagyon veszelyes muvelet ilyen szamoknal! az 1/3 nem veletlen, az 1/2 eseten mas lenne a helyzet :)
      Atnevezett_Ada_Text_IO.Put_Line("A Float fuggveny: " & Teszt_Eredmeny_Tipus'Image(Mukodese_Helyes));
   else
      Atnevezett_Ada_Text_IO.Put_Line("A Float fuggveny: " & Teszt_Eredmeny_Tipus'Image(Mukodese_Helytelen));
   end if;

   Atnevezett_Ada_Text_IO.Put_Line("!!!!!!!");
   Atnevezett_Ada_Text_IO.Put_Line("A teszt eredmenye pl. a Float((1,3)) = (1.0 / 3.0) feltetellel kulonbozo rendszereken es kolonbozo forditok eseten mas es mas lehet!!!");
   Atnevezett_Ada_Text_IO.Put_Line("!!!!!!!");


   Atnevezett_Ada_Text_IO.Put_Line("Teszt vege");
end Alap_Csomag.Teszt;