suivant: Compilation des sources
monter: Création du fichier de
précédent: Choix techniques
  Table des matières
[Ouverture du fichier]
Si le fichier existe déjà et que le paramètre
"Ecraser" et à faux, l'exception Fichier_Existant sera
levée. Autrement le fichier dont le nom est spécifié par le paramètre
"Chemin" est créé.
L'écriture du fichier a été divisé en plusieurs parties :
- L'en-tête
Inscrit en commentaire les informations relatives au
fichier.
Ecriture de "procedure Programme_Test is".
- Les clauses
Tout d'abord, les clauses nécessaires au programme de
test sont rajoutées à la structure (Ada.Text_Io, Ada.Integer_Text_Io,
Ada.Float_Text_Io, Ada.Strings.Unbounded). Ensuite pour pouvoir
aligner les "use", la taille maximum des clauses est calculée. Pour
finir, toutes les clauses sont écrites.
- Les paquetages
Si le paquetage est associé à un commentaire,
celui-ci est écrit. Ensuite les paquetages sont appelés par un "with"
et par un "use" s'ils ne sont pas génériques.
Ecriture de "procedure Programme_Test is".
- La généricité
Pour chaque paquetages, procédures et fonctions
générique, un commentaire est fait. Ce commentaire contient la liste
des paramètres générique et un exemple d'instanciation.
- Déclaration des variables globales
Pour chaque variables globales,
le programme écrit tout d'abord une constante (Nb_Objet_<nom du type>)
indiquant le nombre de ces variables. Ensuite il créé un sous-type
Integer (T_Indice_<nom du type>) allant de 1 à cette constante. Un
type tableau dont les bornes sont ce sous-type est créé (T_Tab_<nom du
type>). Ce tableau contient des objet du type global désiré. Pour
finir une variable est déclarée de ce type tableau (Tab_<nom du
type>).
- Choix de la variable
Cette fonction permettra lors de l'exécution du
programme de choisir avec quel objet du tableau nous voulons
travailler. C'est une fonction générique qui est instanciée pour
chaque type global.
- Les procédures de test
Tout d'abord, un bref commentaire indiquant
quel sous-programme est testé est écrit. Ensuite les variables
nécessaire au test sont déclarées. Pour chaquns des paramètres
d'entrée du sous-programme testé, une demande est effectuée. C'est
demande est écrite en commentaire si le type est inconnu. La procédure
ou la fonction testée est ensuite appelée. Dans le cas d'une fonction,
sa valeur de retour est placée dans une variable "Retour". Pour finir,
chaque paramètre de sortie ou la variable "Retour" sont écrite si leur
type est connu.
- Problèmes rencontrés
Le nom de la procédure de test dépendant du nom
du sous-programme testé, si ce dernier est surchargé alors plusieurs
procédures de tests auront le même nom, ce qui entraîne une erreur de
compilation. Pour les surcharges d'opérateur c'est le même problème,
une procédure du type Test_"+" sera crée ce qui n'est pas accepté.
- Solutions
A chaque sous-programme est associé un nom de procédure de
test contenu dans un tableau. A la création de ce tableau, les
opérateurs sont remplacé par des caractères. Par exemple Test_"+"
devient Test_Plus. Et si un nom de procédure de test existe déjà, un
compteur est incrémenté et le nom de la procédure de test est suivie
du chiffre de ce compteur. Par exemple Test_Get_2.
- Procédure d'accueil
Une procédure d'accueil est écrite. Elle
indiquera au début du programme les information désirées. (But, auteur,
remarques, date)
- Déclaration des variables du menu
Une variable "Choix" est déclarée
d'un sous-type Integer allant de 0 au nombre de sous-programmes.
- Affichage du menu
Cette partie permettra d'afficher le menu principal
du programme de test. Tout d'abord il y a une présentation des
possibilités du programme (tester les sous-programmes ou
quitter). Ensuite le choix de l'utilisateur est saisi puis traité à
l'aide d'un case.
- Traitement des exceptions
Pour chaque exception possible dans le
paquetage testé, un traitement est prévu. Il affiche "L'exception
<exception> a été levée" puis le menu est ré-affiché.
suivant: Compilation des sources
monter: Création du fichier de
précédent: Choix techniques
  Table des matières