This commit is contained in:
Rochas
2025-12-07 20:35:29 +01:00
parent af5fb7918d
commit 5869506f40
5 changed files with 71 additions and 54 deletions

View File

@@ -28,31 +28,41 @@ Use the project in [tp3-balanced-strings](../code/tp3-balanced-strings) to compl
1.
Test simple true:
"{}","[]","()","(a)","a[b]","" et "test"
"()", "{}", "[]", "(abc)", "a[b]", "aaa{aaaa}aa", "" et "test"
des test simple false :
"{]","(}","[)","a{]","(b}"
"(]", "{)", "[}", ")(", "a{]", "a()b[c]{)}"
des Test avec des parenthèsé qui se suivent :
"{}()a[a]"
"a()b[c]{}"
La même chose avec des erreur :
"{}()a[a}"
"a()b[c]{)}"
des Test avec des parenthèse imbriqué :
"white(true){println("Tester c'est pas douter")}
"white(true){println("Tester c'est pas douter");}"
des Test avec des oublies, d'ouverture et fermeture:
"whitetrue){println("Tester c'est pas douter")}",
"white(true{println("Tester c'est pas douter")}"
"white(true){println("Tester c'est pas douter";}",
"white(true){println"Tester c'est pas douter");}"
2.
avec ses tests la couverture est à 100%
3.
toutes les conditions n'ont qu'un seul opérateur boolean
if(balancedQueue.isEmpty() || CONVERT.get(balancedQueue.pollFirst()) != c)
if(A||B)
B est exécuté que si A est vrai, sinon B lèverait une exception
on a donc que 3 cas possibles :
A B
1 1 1
1 0 0
0 err 0
4.
un mutant qui remplacé un return par un return true, il s'agit du cas ou le programme avec une erreur de parenthésage fini par des caractère, ex : "(a" on peut donc le rajouter dans les "test simple"
```mvn test-compile org.pitest:pitest-maven:mutationCoverage```
Tout les mutants on été tué.

View File

@@ -53,3 +53,30 @@ Use the project in [tp3-date](../code/tp3-date) to complete this exercise.
## Answer
1.
isLeapYear : une année bissextile est un multiple de 4, on a juste à tester un multiple de 4 et un non multiple de 4
isValidDate : on a plusieurs choses à tester :
mois valide entre 1 et 12 : on teste donc le mois 0, le mois 10, et le mois 13
jour valide entre 1 et 28,29,30 ou 31 : on doit donc avoir plusieurs catégories de test :
-le jour 0, le jour 32, le jour 10
-bissextile
-non bissextile :
-mois en 30
-mois en 31
constructeur Date : il doit vérifier qu'une date non valide génère une Exception, et une valide n'en génère pas
nextDate : dans le même principe que isValidDate, on doit vérifier dans les mêmes cas
previousDate : pareil que nextDate
compareTo : On teste une différence pour un jour différent, un mois différent et une année différente.
2.
Avec la coverage, on a pu détecter une vérification redondante et une condition inutile qui généraient du code mort, et une opération boolean inutile dans une condition
3.
La coverage précédent nous apermis de detecter un opérateur inutile. Les autre condition n'on qu'un seul opérateure.
4.
En lançant PIT, tous les mutants générés ont été tués.