Un seul test JNews question 2, un seul test JNews question 3 !

Programmation Avancée

Moderator: douinj

Post Reply
marti_r1
Posts: 66
Joined: 07 Oct 2021 20:16

Un seul test JNews question 2, un seul test JNews question 3 !

Post by marti_r1 » 17 Nov 2021 12:32

Bonjour,
Dans le JNews de la question 2, je me fais "bouler" pour un seul et unique test et c’est la même chose pour le JNews de la question 3.
Plus sérieusement, je ne comprends pas vraiment la cause mon erreur à la question 3 car quand je test mon code avec mes tests, ça passe ?
JNews m’indique :

There was 1 failure:
1) test_Factory_create(question3): exception : ''java.lang.Object question3.Factory.create()''

Pour la question 2, je reviens sur mon "post" précèdent :
Dans le test retirer et occurrence de la question 2 du TP5, il est écrit :

JTextField saisie=(JTextField)subSubComponents[1];
saisie.setText("lin");

On écrit lin dans "l’encart" de l’IHM où on recherche un mot

retirer.doClick();
robot.delay(300);

On tente de supprimer le mot lin

JLabel res=(JLabel)subSubComponents[0];
assertTrue("ce qui commence par \"lin\" doit être présent, pour ce test",res.getText().endsWith("true"));

On vérifie que dans l’afficheur la fin de la phrase se termine par true donc que lin a bien été retiré ?

Mon code de "suppresseur", semble fonctionner quand le mot est présent il le retire avec la phrase qui se termine par true dans l'afficheur puis si je tente de le retirer à nouveau comme il n'y est plus ça fonctionne pas et la phrase dans l'afficheur se termine par false, comme quand je veux retirer un mot qui n'est pas présent.
Du coup je me "prends la tête" avec cela car quand je fais le test de l'IHM, il me retourne que cela ne fonctionne pas avec : "ce qui commence par \"lin\" doit être présent, pour ce test".
C’est un peu comme le test avec le \ \you, ça à l’air d’y ressembler, quand j’avais mis equals() dans le suppresseur à la place de startsWith(), cela ne passait pas mais avec startsWith, qui renvoi un booleen true ou false respectivement si un string commence ou pas par l’expression passée en paramètre de la fonction, là ça a fonctionné.
Je ne comprends pas bien le truc sur ces deux tests, il y a quelque chose qui m’échappe ?

private boolean retirerDeLaListeTousLesElementsCommencantPar(String prefixe){
boolean resultat;
if(liste.contains(prefixe)==true){
Iterator<String> iterateur=liste.iterator();
while(iterateur.hasNext()){
if(iterateur.next().startsWith(prefixe)==true){
iterateur.remove();
}
}
occurrences.put(prefixe,0);
resultat=true;
}else{
resultat=false;
}
return resultat;
}

Cordialement

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: Un seul test JNews question 2, un seul test JNews question 3 !

Post by douinj » 17 Nov 2021 15:35

Bonjour,

Ce test est-il le bienvenu ?

Code: Select all

if(liste.contains(prefixe)==true){
Pour le patron fabrique, il faut répondre à la question que fabrique-t-on ;-)

Bonne fin de tp

Post Reply