Est-il possible d'avoir plus d'informations sur les comportements attendus concernant les tests JNEWS suivants:
1) testAssertion(question3) failed
2) testSelection(question3) failed
3) testAssertionError(question3) failed
4) testPour2_10_itérations(question3) failed
5) testPourPour_5_itérations(question3) failed
6) test_CompilationDUneBouclePour(question3) failed
7) test_CompilationDUneBouclePourAvecAfficher(question3) failed
8) testBouclesImbriquees2(question3) failed
9) testBouclesImbriquees(question3) failed
10) testFactorielPour(question3) failed
La classe TestsEvaluationAVerifier s'exécute avec tout les tests en vert.
Pour la classe TestDesAssertionsAVerifier, c'est au vert pour les méthodes présentent par défaut dans le package. Par contre la méthode vue sur le forum, testAssertionError elle ne passe pas (la valeur bluej.vm.args=-ea est paramétrée dans le fichier bluej.defs), quand je regarde le contenu de cette méthode:
Code : Tout sélectionner
fail("attention, " + i.accepter(vs) + " est-il sans effet ???");
Code : Tout sélectionner
VisiteurInstruction vs = new VisiteurInstToString(ves,vbs);
TestDesAssertionsAVerifier crée les classes telles que décrites dans la classe de test:
- Les classes: Somme, BoucleBoucle, Fact, BouclePour et PourClasseTest, compilent toutes sans erreur et peuvent s'exécuter et se terminer.
- Les classes: BoucleTantQuePour, BoucleTantQuePour2 et TestAvecImbricationMultiples, compilent sans erreur mais donnent des exécutables qui bouclent, mais j'ai l'impression que c'est le comportement attendu quand je retranscris sur papier le programme que je vois dans TestDesAssertionsAVerifier.
Code : Tout sélectionner
public class BoucleTantQuePour{
public static void main(String[] args)throws Exception{
int i=0;
int j=1;
while(i < 10){
while(j < 10){
for(i=0;(i < 5);j=(j + 1)){
i=(i + 1);
System.out.print(i);
}
}
i=(i + 1);
j=1;
}
}
}
Code : Tout sélectionner
Contexte m = new Memoire();
Variable i = new Variable(m,"i");
Variable j = new Variable(m,"j",1);
Instruction inst =
new TantQue(
new Inf(i,new Constante(10)),
new Sequence(
new TantQue(
new Inf(j,new Constante(10)),
new Pour(
new Affectation(i,new Constante(0)), new Inf(i, new Constante(5)),
new Sequence(
new Affectation(i,new Addition(i,new Constante(1))),
new Afficher(i)),
new Affectation(j,new Addition(j,new Constante(1)))
)),
new Sequence(
new Affectation(i,new Addition(i,new Constante(1))),
new Affectation(j, new Constante(1))
)
)
);
Cordialement,