98 lines
2.8 KiB
Ada
98 lines
2.8 KiB
Ada
-- Auteurs : P. Esquirol
|
|
-- Version du 30/01/2019
|
|
|
|
with Ada.Text_Io, Piles_Entiers, Afficher_Test;
|
|
use Ada.Text_Io, Piles_Entiers;
|
|
|
|
procedure Tests_Piles_Entiers is
|
|
begin
|
|
---------------------------------------------------------
|
|
-- 1. Tests apres la declaration et acces a une pile vide
|
|
---------------------------------------------------------
|
|
Put_Line("Test 1 : apres Declaration d'une pile P");
|
|
declare
|
|
P : Pile;
|
|
begin
|
|
Afficher_Test("Est_Vide(P) ?", "TRUE", Boolean'Image(Est_Vide(P)));
|
|
Afficher_Test("Hauteur(P) ?", "0 ", Integer'Image(Hauteur(P)));
|
|
Afficher_Test("To_String(P) ?", " ", To_String(P));
|
|
end;
|
|
New_Line;
|
|
Put_Line("Test 2: Tentative d'acces au sommet d'une pile vide");
|
|
declare
|
|
P : Pile;
|
|
Nb : Integer;
|
|
begin
|
|
Nb := Sommet(P);
|
|
Afficher_Test("Sommet(P) ?", "levee exception", Integer'Image(Nb));
|
|
Put_Line("bizarre ... l'exception n'a pas ete levee ... ");
|
|
exception
|
|
when Pile_Vide =>
|
|
Put_Line("ok, l'exception Pile_Vide a ete levee !!");
|
|
end;
|
|
|
|
---------------------
|
|
-- 2. Tests d'empiler
|
|
---------------------
|
|
declare
|
|
P : Pile;
|
|
begin
|
|
New_Line;
|
|
Put_Line("Test 3 : Empiler 10 entiers ");
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
end;
|
|
|
|
--------------------------------
|
|
-- 3. Tests de Depiler et Sommet
|
|
--------------------------------
|
|
declare
|
|
P : Pile;
|
|
Nb : Integer;
|
|
begin
|
|
-- Empiler 10 elements
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
New_Line;
|
|
Put_Line("Test 4: Affichage du sommet et depilement pendant 10 fois ...");
|
|
|
|
-- Verifier que la pile est bien vide apres 10 appels a Depiler
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
New_Line;
|
|
Put_Line("Test 5: Tentative de depilement d'une pile vide ...");
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
end;
|
|
|
|
-----------------------------------
|
|
-- 4. Test sur l'egalite de 2 piles
|
|
-----------------------------------
|
|
Put_Line("Test 6 : Initialisation de 2 piles P1 et P2, et comparaison, ajout de 10 elements et comparaison");
|
|
declare
|
|
P1, P2 : Pile;
|
|
begin
|
|
null;
|
|
-- P1 et P2 viennent d'etre declarees, elles sont donc vides
|
|
-- Verifier qu'elles sont identiques (P1=P2)
|
|
New_Line;
|
|
Put_Line("Test 6 : Deux piles vides sont-elles identiques ?");
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
New_Line;
|
|
Put_line("On empile desormais 10 entiers 1..10 sur les 2 piles");
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
New_Line;
|
|
Put_Line("Test 7 : Deux piles contenant 1..10 sont-elles identiques ?");
|
|
--
|
|
-- ... <<< A COMPLETER
|
|
--
|
|
end;
|
|
end Tests_Piles_Entiers;
|