http://www.adaconcept.com/programs/gyerekcsomagos/szamrendszerek-vegyes_alapu_szamrendszer-teszt.adb
with Ada.Text_IO;
package body Szamrendszerek.Vegyes_Alapu_Szamrendszer.Teszt is
-- Itt elerhetoek a szulo csomag privat reszenek deklaracioi, ezert szokas egy adott csomaghoz tartozo teszteket egy gyerekcsomagban, vagy gyerek-eljarasban elhelyezni.
-- Figyeljuk meg, hogy ennel a tesztelesnel a csomag implementacioja es a tesztelo kod kulonvalik (interface-en keresztul torteno teszteles...)
-- (Azokban az esetekben, amikor ez a megoldas nem hasznalhato (egy sokkal veszelyesebb modszert kell alkalmaznunk), modositanunk kell a tesztelendo kodot, ami gyakran a kovetkezo modon tortenik:
-- A tesztelendo csomag specifikaciojanak publikus reszeben elhelyezunk egy Teszt eljarast (amit majd a "tesztelo rendszerunk" hiv meg)
-- Ezaltal az igy modosított kodba bekerult egy eljaras, amelynek torzse eleri a csomag torzseben hasznalt (privat) valtozokat is. Igy keszithetjuk el a teszteket...)
-- Egy teszt mukodesi elvenek bemutatasa...
-- inicializalas, tesztelendo kod hivasa, elvart ertek ellenorzese
procedure Teszt is
-- inicializalas
Szam : Vegyes_Alapu_Szamrendszer.Vegyes_Alapu_Szam_Tipus := Vegyes_Alapu_Szamrendszer.Letrehoz((0..7 => 8));
begin
Ada.Text_IO.Put_Line("Teszt indul");
-- -----------------------------------------------------------------------
-- Elso Teszt
-- -----------------------------------------------------------------------
-- tesztelendo kod hivasa
Beallit(Szam,(0,0,0,0,0,0,0,0)); -- a tomb 0 -atol indexelodik!!!
-- elvart ertek ellenorzese
Ada.Text_IO.Put_Line("A szam kepe: " & Vegyes_Alapu_Szamrendszer.Image(Szam));
-- -----------------------------------------------------------------------
-- Masodik Teszt
-- -----------------------------------------------------------------------
-- inicializalas
-- fugg az elozo teszttol (ezt altalaban nem szeretjuk!!!)
-- tesztelendo kod hivasa
Hozzaad(Szam, 8**8 - 1);
-- elvart ertek ellenorzese
Ada.Text_IO.Put_Line("A szam kepe: " & Vegyes_Alapu_Szamrendszer.Image(Szam));
-- -----------------------------------------------------------------------
-- Harmadik Teszt
-- -----------------------------------------------------------------------
-- inicializalas
-- fugg az elozo teszttol (ezt altalaban nem szeretjuk!!!)
-- tesztelendo kod hivasa
Hozzaad(Szam, 1);
-- elvart ertek ellenorzese
if Tulcsordulas(Szam) then
Ada.Text_IO.Put_Line("Az alap teszteken atment a program... :)");
end if;
Ada.Text_IO.Put_Line("Teszt vege");
end Teszt;
procedure Teszt_Kiir(Szam : Vegyes_Alapu_Szam_Tipus) is
begin
Ada.Text_IO.Put_Line("Teszt_Kiir indul");
for i in reverse Szam.Abrazolas.Szamrendszerek'Range loop
declare
Alap : Positive renames Szam.Abrazolas.Szamrendszerek(i); --| pelda atnevezesre
Jegy : Natural renames Szam.Abrazolas.Szamjegyek(i); --|
begin
Ada.Text_IO.Put_Line(integer'Image(i) & Positive'Image(Alap) & Natural'Image(Jegy));
end;
end loop;
Ada.Text_IO.Put_Line("Teszt_Kiir vege");
end Teszt_Kiir;
end Szamrendszerek.Vegyes_Alapu_Szamrendszer.Teszt;