doc tests

This commit is contained in:
LaNymphtaline
2021-06-05 12:20:31 +02:00
parent 62dd3f6b00
commit 6a567bc43b
6 changed files with 94 additions and 687 deletions
Binary file not shown.
+1 -2
View File
@@ -4,7 +4,6 @@
\usepackage[french]{babel}
\usepackage[top=1.5cm, bottom=5cm]{geometry}
\usepackage{fancyhdr, graphicx, array, hyperref}
%\usepackage{array}
\pagestyle{fancy}
@@ -75,7 +74,7 @@
\part{ Conception}
\part{ Codage}
\part{ Tests}
\include{./fichiers/tests/docTests.tex}
\input{./fichiers/tests/docTests}
\part{ Conclusion}
% Fin du corps de votre document .................................
@@ -0,0 +1,33 @@
% \chapter{Tests du paquetage interpreteurlir.donnees.litteraux}
\section{Litteral}
Lors des itérations 1, la classe Litteral a été développée comme une classe
non-abstract, en effet nous n'avions pas encore abordé cette notion en cours.
Ainsi cette classe a été développée en TDD et nous avons par conséquent
effectué les tests unitaires de cette classe.
\\ Cependant à la fin de l'itération 3, dans une optique d'amélioration des
codes sources, nous avons passé cette classe en abstract, ainsi les tests
unitaires menés n'avaient plus lieu d'être et ont donc été tout de même
conservés en commentaire.
\section{Chaine}
Les jeux de tests de la classe Chaine prennent en compte les cas de chaînes
vide, la taille maximale des chaînes, leur syntaxe (avec le contenu de la
chaîne entre "). Aussi l'opération de concaténation a été testée.
Tous les tests menés ont été concluants.
\section{Entier}
La classe Entier est très proche de la classe Integer existant déjà dans le
JDK, ainsi son développement a été rapide.
À l'instar des tests menés pour la classe Chaine, tous les tests de la classe
Entier notamment des opérations arithmétiques ont été concluants.
\\ Notons, que pour les opérations arithmétiques telles que la division et le
reste de la division, le cas particulier de la division par zéro a été testé
à part.
\section{Booleen}
La classe Booleen n'a posé aucun problème particulier.
@@ -0,0 +1,22 @@
% \chapter{Tests du paquetage interpreteurlir.donnees}
\section{Identificateur}
La classe Identificateur a été développée en TDD lors de l'itération 1
cependant elle a été passée en abstract lors de l'itération 3, comme
pour la classe Litteral, les tests unitaires menés lors de l'itération 1
n'avaient plus lieu d'être et ont été conservés en commentaire.
La méthode d'instance compareTo() testée avant le passage de la classe
en abstrait et vaut pour les identificateurs d'entier et de chaîne.
\section{IdentificateurChaine et IdentificateurEntier}
Lors des tests unitaires des deux classes, la syntaxe des identificateurs
a été testées. Les tests ont été concluants.
\section{Variable}
La classe Variable a été développée lors de l'itération 1 et a donc été
testée avec les identificateurs d'entier et de chaîne et seulement avec des
valeurs de type Chaine, en effet, la classe Entier ne faisait pas partie de
la conception de l'itération 1.
@@ -0,0 +1,19 @@
% \chapter{Tests du paquetage interpreteurlir.expressions}
\section{Expression}
Cette classe Expression a été passée en abstract lors de l'itération 3
cependant les tests des méthodes statiques restent pertinents et ont donc
été conservés.
\section{ExpressionChaine}
Lors du développement de la classe ExpressionChaine, l'ambigüité des symboles
des opérateurs ("+" et "=") a posé problème. En effet, il fallait déterminer
l'emplacement de l'opérateur en ignorant ces symboles s'ils sont contenu dans
les constantes littérales. Au fil du développement, les tests ont été concluants.
\section{ExpressionEntier}
\section{ExpressionBoolenne}
@@ -1,685 +1,19 @@
\begin{enum}
\item interpreteurlir.tests.TestContexte
\begin{verbatim}
Exécution du test de Contexte#Contexte()
Réussite de testContexte
Exécution du test de Contexte#raz()
Réussite de testRaz
Exécution du test de Contexte#toString()
Réussite de testToString
Exécution du test de Contexte#ajouterVariable(Identificateur, Litteral)
$chaine = "blabla"
$zoro = "Zoro le héro"
entier = 25
$abcd = "lol"
$chaine = "viveLa Vie"
$zoro = " ah ah ! "
entier = -1
Réussite de testAjouterVariable
Exécution du test de Contexte#lireValeurVariable(Identificateur)
Zoro le héro
Réussite de testLireValeurVariable
\end{verbatim}
\item interpreteurlir.donnees.tests.TestIdentificateurChaine
\begin{verbatim}
Exécution du test de IdentificateurEntier(String identificateur)
Réussite de testIdentificateurChaineString
Exécution du test de getNom()
Réussite de testGetNom
\end{verbatim}
\item interpreteurlir.donnees.tests.TestIdentificateurEntier
\begin{verbatim}
Réussite de testIdentificateurEntierString
Réussite de testGetNom
\end{verbatim}
\item interpreteurlir.donnees.tests.TestVariable
\begin{verbatim}
Exécution du test de toString()
Réussite de testToString
Exécution du test de compareTo
Réussite de testCompareTo
Exécution du test de Variable(Identificateur, Littéral)
Réussite de testVariableIdentificateurChaineLitteral
Exécution du test de getIdentificateur()
Réussite de testGetIdentificateurChaine
Exécution du test de getValeur()
Réussite de testGetValeurChaine
Exécution du test de setValeur()
Réussite de testSetValeurChaine
\end{verbatim}
\item interpreteurlir.donnees.litteraux.tests.TestBooleen
\begin{verbatim}
Exécution du test de getValeur
Réussite de testGetValeur
\end{verbatim}
\item interpreteurlir.donnees.litteraux.tests.TestChaine
\begin{verbatim}
Exécution du test de Chaine(String)
Réussite de testChaine
Exécution du test de toString
Réussite de testToString
Exécution du test de compareTo(Chaine)
Avec égalités
Avec des inégalités
Réussite de testCompareTo
Exécution du test de concaténer
Réussite de testConcatener
\end{verbatim}
\item interpreteurlir.donnees.litteraux.tests.TestEntier
\begin{verbatim}
Exécution du test de quotient(Entier, Entier) par 0
Réussite de testQuotientParZero
Exécution du test de Entier(String)
Réussite de testEntierString
Exécution du test de getValeur()
Réussite de testGetValeur
Exécution du test de soustrait(Entier, Entier)
Réussite de testSoustrait
Exécution du test de quotient(Entier, Entier)
Réussite de testQuotient
Exécution du test de compareTo()
Réussite de testCompareTo
Exécution du test de multiplie(Entier, Entier)
Réussite de testMultiplie
Exécution du test de reste(Entier, Entier)
Réussite de testReste
Exécution du test de Entier(String)
Réussite de testToString
Exécution du test de somme(Entier, Entier)
Réussite de testSomme
Exécution du test de reste(Entier, Entier) par 0
Réussite de testResteParZero
\end{verbatim}
\item interpreteurlir.expression.tests.TestExpression
\begin{verbatim}
Exécution du test de Expression#referencerContexte(Contexte)
Réussite de testReferencerContexte
Exécution du test de Expression#determinerTypeExpression(String)
Réussite de testDeterminerTypeExpression
\end{verbatim}
\item interpreteurlir.expression.tests.TestExpressionBooleenne
\begin{verbatim}
Exécution du test de ExpressionBooleenne()
Réussite de testExpressionBooleenne
Exécution du test de Calculer()
Réussite de testCalculer
Exécution du test de toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.expression.tests.TestExpressionChaine
\begin{verbatim}
Exécution du test de ExpressionChaine#ExpressionChaine(String)
Réussite de testExpressionChaineString
Exécution du test de ExpressionChaine#calculer()
Contexte initial :
$toto = "valToto"
Calcul de : $chaine = "texte"
Contexte :
$chaine = "texte"
$toto = "valToto"
Calcul de : $chaine = "tata"
Contexte :
$chaine = "tata"
$toto = "valToto"
Calcul de : $tata
Contexte :
$chaine = "tata"
$toto = "valToto"
Calcul de : "une chaine de texte"
Contexte :
$chaine = "tata"
$toto = "valToto"
Calcul de : $chaine = "toto" + "titi"
Contexte :
$chaine = "tototiti"
$toto = "valToto"
Calcul de : $chaine = $toto + "titi"
Contexte :
$chaine = "valTototiti"
$toto = "valToto"
Calcul de : $chaine = "toto" + $titi
Contexte :
$chaine = "toto"
$toto = "valToto"
Calcul de : $chaine = $toto + $titi
Contexte :
$chaine = "valToto"
$toto = "valToto"
Calcul de : "toto" + "titi"
Contexte :
$chaine = "valToto"
$toto = "valToto"
Calcul de : $toto + "titi"
Contexte :
$chaine = "valToto"
$toto = "valToto"
Calcul de : "toto" + $titi
Contexte :
$chaine = "valToto"
$toto = "valToto"
Calcul de : $toto + $titi
Contexte :
$chaine = "valToto"
$toto = "valToto"
Calcul de : "ab=bc"
Contexte :
$chaine = "valToto"
$toto = "valToto"
Calcul de : $chaine = "ab+cd" + $toto
Contexte :
$chaine = "ab+cdvalToto"
$toto = "valToto"
Réussite de testCalculer
Exécution du test de ExpressionChaine#toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.expression.tests.TestExpressionEntier
\begin{verbatim}
Exécution du test de ExpressionEntier#calculer()
Contexte initial :
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : entier = 2 + 3
Contexte :
entier = 5
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : entier = 2 * 3
Contexte :
entier = 6
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : bob = marcel - 2
Contexte :
bob = -2
entier = 6
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : 45 + 14
Contexte :
bob = -2
entier = 6
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : 45 * -2
Contexte :
bob = -2
entier = 6
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : affectation = 64
Contexte :
affectation = 64
bob = -2
entier = 6
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : affectation = marcel
Contexte :
affectation = 0
bob = -2
entier = 6
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : entier = j34n + pi3rr3
Contexte :
affectation = 0
bob = -2
entier = 3
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : entier = j34n
Contexte :
affectation = 0
bob = -2
entier = 1
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : 42
Contexte :
affectation = 0
bob = -2
entier = 1
j34n = 1
marcel = 0
pi3rr3 = 2
Calcul de : rep0ns3 = 42
Contexte :
affectation = 0
bob = -2
entier = 1
j34n = 1
marcel = 0
pi3rr3 = 2
rep0ns3 = 42
Calcul de : division = 12 / 0
Attention Division par 0
Calcul de : modulo = 12 % 0
Attention Division par 0
Réussite de testCalculer
Exécution du test de ExpressionEntier#toString()
Réussite de testToString
Exécution du test de ExpressionEntier#ExpressionEntier(String)
Réussite de testExpressionEntierString
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeCharge
\begin{verbatim}
Test valides de CommandeCharge#executer():
Test 1\7:
5 var $test = "fichier1 OK"
10 stop
Test 2\7:
5 var $test = "fichier2 OK"
10 stop
Test 3\7:
5 var $test = "fichier3 OK"
10 stop
Test 4\7:
5 var $test = "fichier4 OK"
10 stop
Test 5\7:
5 var $test = "fichier5 OK"
10 stop
Test 6\7:
5 var $test = "fichier6 OK"
10 stop
Test 7\7:
5 var $test = "fichier7 OK"
10 stop
Test invalides de CommandeCharge#executer():
aucune ligne à afficher
aucune ligne à afficher
Réussite de testExecuter
Réussite de testCommandeCharge
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeDebut
\begin{verbatim}
Exécution du test de CommandeDebut#executer()
Réussite de testExecuter
Exécution du test de CommandeDebut#CommandeDebut(String, Contexte)
Réussite de testCommandeDebutStringContexte
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeDefs
\begin{verbatim}
Exécution du test de CommandeDefs#CommandeDefs(String, Contexte)
Réussite de testCommandeDefsStringContexte
Exécution du test de CommandeDefs#executer()
Affichage du contexte :
aucune variable n'est définie
Affichage du contexte :
aucune variable n'est définie
Affichage du contexte :
aucune variable n'est définie
Réussite de testExecuter
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeEfface
\begin{verbatim}
Exécution du test de CommandeEfface(String, Contexte)
Réussite de testCommandeEfface
Exécution du test d'executer()
Test visuel :
10 affiche Bonjour
20 affiche Comment
30 affiche Allez
40 affiche Vous
50 affiche foobar
10 affiche Bonjour
40 affiche Vous
50 affiche foobar
Réussite de testExecuter
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeFin
\begin{verbatim}
Exécution du test de CommandeFin#executer()
Le programme doit s'éteindre en affichant un message d'aurevoir :
Test exécuter désactiver
Réussite de testExecuter
Exécution du test de CommandeFin#CommandeFin(String, Contexte)
Réussite de testCommandeFinStringContexte
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeLance
\begin{verbatim}
Exécution du test de CommandeLance#executer()
Réussite de testExecuter
Exécution du test de CommandeLance#CommandeLance(String, Contexte)
Réussite de testCommandeLance
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeListe
\begin{verbatim}
Exécution du test de CommandeListe#executer()
1 var $res = "1 "
10 var $res = $res + "10 "
13 var $res = $res + "13 "
25 var $res = $res + "25 "
31 var $res = $res + "31 "
40 var $res = $res + "40 "
78 var $res = $res + "78 "
89 var $res = $res + "89 "
13 var $res = $res + "13 "
25 var $res = $res + "25 "
25 var $res = $res + "25 "
31 var $res = $res + "31 "
40 var $res = $res + "40 "
40 var $res = $res + "40 "
78 var $res = $res + "78 "
89 var $res = $res + "89 "
Réussite de testExecuter
Exécution du test de CommandeListe#CommandeListe(String, Contexte)
Réussite de testCommandeListe
\end{verbatim}
\item interpreteurlir.motscles.tests.TestCommandeSauve
\begin{verbatim}
Exécution du test de CommandeSauve#CommandeSauve(String, Contexte)
Réussite de testCommandeSauveStringContexte
Exécution du test de CommandeSauve#executer()
Réussite de testExecuter
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionAffiche
\begin{verbatim}
Exécution du test de InstructionAffiche(String, Contexte)
Réussite de testInstructionAffiche
Exécution du test de executer()
TEST VISUEL SUR CONSOLE :
test visuel suivant :
test visuel suivant :
test visuel suivant :
Hello World !!!
test visuel suivant :
6
test visuel suivant :
0
test visuel suivant :
-3
test visuel suivant :
test visuel suivant :
coucou
test visuel suivant :
300000000000000000 ça passe
Réussite de testExecuter
Exécution du test de toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionEntre
\begin{verbatim}
Exécution du test de InstructionEntre#toString()
Réussite de testToString
Execution du test de InstructionEntre#executer()
? entre $chaine
"uneChaine"
ok
? entre $toto
"uneAutreChaine"
ok
? entre entier
42
ok
? entre resultat
10
ok
Contexte :
$chaine = ""uneChaine""
$toto = ""uneAutreChaine""
entier = 42
resultat = 10
Réussite de testExecuter
Exécution du test de InstructionEntre#InstructionEntre(String, Contexte)
Réussite de testInstructionEntreStringContexte
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionProcedure
\begin{verbatim}
Execution du test de InstructionProcedure#toString()
Réussite de testToString
Execution du test de InstructionProcedure#executer()
Réussite de testExecuter
Execution du test de InstructionProcedure#InstructionProcedure(String, Contexte)
Réussite de testInstructionProcedureStringContexte
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionRetour
\begin{verbatim}
Exécution du test de InstructionRetour#InstructionRetour(String, Contexte)
Réussite de testInstructionRetourStringContexte
Execution du test de InstructionRetour#executer()
Réussite de testExecuter
Execution du test de InstructionRetour#toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionSi
\begin{verbatim}
Exécution du test de InstructionSi#toString()
Réussite de testToString
Exécution du test de InstructionSi#executer()
Réussite de testExecuter
Exécution du test de InstructionSi#InstructionSi(String, Contexte)
Réussite de testInstructionSiStringContexte
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionStop
\begin{verbatim}
Exécution du test de executer()
Test Visuels
10 affiche "Bonjour"
20 affiche "Comment"
30 affiche "Allez"
40 affiche "Vous"
45 stop
50 affiche "foobar"
lancement du programme : ne doit pas afficher foobar
BonjourCommentAllezVous
Réussite de testExecuter
Exécution du test de toString()
Réussite de testToString
Exécution du test de InstructionStop(String, Contexte)
Réussite de testInstructionStop
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionVaen
\begin{verbatim}
Execution du test de InstructionVaen#InstructionVaen(String, Contexte)
Réussite de testInstructionVaenStringContexte
Execution du test de InstructionVaen#executer()
Test visuel : Ne doit pas afficher les étiquettes (25, 31, 40 )
1 10 13 78 89
Réussite de testExecuter
Execution du test de InstructionVaen#toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.motscles.instructions.tests.TestInstructionVar
\begin{verbatim}
Exécution du test de InstructionVar(String, Contexte)
Réussite de testInstructionVar
Exécution du tes de toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.programmes.tests.TestEtiquette
\begin{verbatim}
Exécution du test de Etiquette#Etiquette(int)
Réussite de testEtiquetteInt
Exécution du test de Etiquette#Etiquette(String)
Réussite de testEtiquetteString
Exécution du test de Etiquette#getValeur()
Réussite de testGetValeur
Exécution du test de Etiquette#compareTo(Etiquette)
Réussite de testCompareTo
Exécution du test de Etiquette#toString()
Réussite de testToString
\end{verbatim}
\item interpreteurlir.programmes.tests.TestProgramme
\begin{verbatim}
Exécution du test de Programme() :
Réussite de testProgramme
Exécution du test de toString() :
Réussite de testToString
Exécution du test de raz() :
Réussite de testRaz
Exécution du test de ajouterLigne() :
Réussite de testAjouterLigne
Exécution du test de listeBornee() :
Réussite de testListeBornee
Exécution du test de appelProcedure(Etiquette) :
Réussite de testAppelProcedure
Exécution du test de vaen(Etiquette) : voir TestInstructionVaen#testExecuter()
Réussite de testVaen
Exécution du test de Programme#stop() : voir TestInstructionStop#testExecuter()
Réussite de testStop
Exécution du test de lancer() TEST INTERACTIF :
1 var $toto = "toto"
5 var $agreuagreu = "agreu"
10 var tata = 0 + 0
13 var $titi = "titi"
31 entre tutu
40 var entier = 93
89 var $youpi = "youpi lapin"
80
$agreuagreu = "agreu"
$titi = "titi"
$toto = "toto"
$youpi = "youpi lapin"
entier = 93
tata = 0
tutu = 80
Réussite de testLancer
Exécution du test de effacer() :
Réussite de testEffacer
Exécution du test de retourProcedure() :
Réussite de testRetourProcedure
Exécution du test de lancer(Etiquette) TEST INTERACTIF :
1 var $toto = "toto"
5 var $agreuagreu = "agreu"
10 var tata = 0 + 0
13 var $titi = "titi"
31 entre tutu
40 var entier = 93
89 var $youpi = "youpi lapin"
5
tutu = 5
10 var tata = 0 + 0
13 var $titi = "titi"
31 entre tutu
40 var entier = 93
89 var $youpi = "youpi lapin"
9
tutu = 9
31 entre tutu
40 var entier = 93
89 var $youpi = "youpi lapin"
10
tutu = 10
aucune ligne à afficher
aucune variable n'est définie
Réussite de testLancerEtiquette
\end{verbatim}
\end{enum}
% Partie 5 Tests
\large
\chapter*{Démarche globale}
Afin de développer l'Interpréteur LIR selon un modèle de cycle de vie
itératif, nous avons privilégié la méthode du TDD, Test Driven Development ou
développement dirigé par les tests en français.
\\Ainsi, la majorité des composants de ce logiciel ont été développé selon
cette méthode à l'aide des outils de tests écrits lors des TD de Programmation
Orientée Objet du semestre 2. Par conséquent, nous n'avons pas utilisé le
framework de test JUnit.
\chapter{Tests du paquetage interpreteurlir.donnees.litteraux}
\input{./fichiers/tests/chap_interpreteurlir.donnees.litteraux}
\chapter{Tests du paquetage interpreteurlir.donnees}
\input{./fichiers/tests/chap_interpreteurlir.donnees}
\chapter{Tests du paquetage interpreteurlir.expressions}
\input{./fichiers/tests/chap_interpreteurlir.expressions}