Lors de ma première soumission à JNEWS de la question 2 du TP commit, j'ai eu le retour d'erreur suivant:
1) testQuatreContributeursQuatreGroupesBis(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
2) testQuatreContributeursQuatreGroupes(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
6) testCompositeValide_bis(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
7) testSurUnGroupeDeGroupe(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
8) testQuatreContributeurs_bis(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
9) testQuatreContributeursDeuxGroupes(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
10) testCompositeValide_ter(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
11) test_SansDoublon_accepter_dans_visite_du_groupe(question2): accepter n''est pas appelée ? curieux...
12) test_CompositeValide_accepter_dans_visite_du_groupe(question2): accepter n''est pas appelée ? curieux...
13) test_DebitMaximal_accepter_dans_visite_du_groupe(question2): accepter n''est pas appelée ? curieux...
3) testDebitMaximalSurUnGroupeDeGroupes(question2): le débit maximal est-il erroné ???
4) testTroisContributeursUnGroupe(question2): Le nombre de cotisants est-il erroné ??? expected:<3> but was:<4>
5) testCinqContributeursQuatreGroupes(question2): Le nombre de cotisants est-il erroné ??? expected:<4> but was:<5>
J'ai modifié mon code de la classe SansDoublon() pour le visiteur de GroupeDeContributeur:
Version initiale:
Code : Tout sélectionner
public Boolean visite(GroupeDeContributeurs g){
boolean res = false;// a compléter
// a compléter
res = true;
Set s = new TreeSet<String>();
s.add(g.nom());
for(Cotisant c : g) {
if(c.nombreDeCotisants()==1){
res = res && s.add(c.nom());
} else {
res = res && (c.nom()==g.nom());
res = res && this.visite((GroupeDeContributeurs) c);
}
}
return res ;
}
Code : Tout sélectionner
public Boolean visite(GroupeDeContributeurs g){
boolean res = false;// a compléter
// a compléter
res = true;
Set s = new TreeSet<String>();
s.add(g.nom());
try{
if( g.getParent().nom()!=null && !s.add(g.getParent().nom()) ) return false;
}catch(NullPointerException e){}
for(Cotisant c : g) {
if(c.nombreDeCotisants()==1){
res = res && s.add(c.nom());
} else {
res = res && s.add(c.nom());
res = res && this.visite((GroupeDeContributeurs) c);
}
}
}
Code : Tout sélectionner
//echec test:
//1) testQuatreContributeursQuatreGroupesBis(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
// 2) testQuatreContributeursQuatreGroupes(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
// 6) testCompositeValide_bis(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
//7) testSurUnGroupeDeGroupe(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
//8) testQuatreContributeurs_bis(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
// 9) testQuatreContributeursDeuxGroupes(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
//10) testCompositeValide_ter(question2): Ce composite n''a pas de doublon, revoyez SansDoublon !!!
/**
* ted.
*/
public void testEchecDoublon(){
GroupeDeContributeurs g1 = new GroupeDeContributeurs("g1");
g1.ajouter(new Contributeur("g_a",100));
GroupeDeContributeurs g2 = new GroupeDeContributeurs("g2");
g2.ajouter(new Contributeur("g_b",100));
GroupeDeContributeurs g3 = new GroupeDeContributeurs("g3");
g3.ajouter(new Contributeur("g_c",100));
GroupeDeContributeurs g4 = new GroupeDeContributeurs("g4");
g4.ajouter(new Contributeur("g_d",100));
GroupeDeContributeurs gg1 = new GroupeDeContributeurs("gg1");
gg1.ajouter(g1);
gg1.ajouter(g2);
gg1.ajouter(g3);
gg1.ajouter(g4);
assertTrue(gg1.accepter(new SansDoublon()));
g4.ajouter(new Contributeur("g_a",100));
assertFalse(gg1.accepter(new SansDoublon()));
GroupeDeContributeurs gg2 = new GroupeDeContributeurs("gg2");
gg2.ajouter(g1);
gg2.ajouter(g2);
gg2.ajouter(g3);
assertTrue(gg2.accepter(new SansDoublon()));
Contributeur g1Node= new Contributeur("g1",100);
g1.ajouter(g1Node);
assertFalse(g1.accepter(new SansDoublon()));
assertFalse(g1Node.accepter(new SansDoublon()));
GroupeDeContributeurs gg2Node = new GroupeDeContributeurs("gg2");
gg2.ajouter(gg2Node);
assertFalse(gg2Node.accepter(new SansDoublon()));
assertFalse(gg2.accepter(new SansDoublon()));
GroupeDeContributeurs gg3 = new GroupeDeContributeurs("gg3");
gg3.ajouter(g2);
gg3.ajouter(g3);
g3.ajouter(g4);
assertTrue(gg3.accepter(new SansDoublon()));
g4.ajouter(new Contributeur("g_b",100));
assertFalse(gg3.accepter(new SansDoublon()));
}
//echec test:
// 3) testDebitMaximalSurUnGroupeDeGroupes(question2): le débit maximal est-il erroné ???
// 4) testTroisContributeursUnGroupe(question2): Le nombre de cotisants est-il erroné ??? expected:<3> but was:<4>
// 5) testCinqContributeursQuatreGroupes(question2): Le nombre de cotisants est-il erroné ??? expected:<4> but was:<5>
/**
* tenc.
*/
public void testEchecNbrCotisant(){
GroupeDeContributeurs g = new GroupeDeContributeurs("g");
g.ajouter(new Contributeur("a",100));
g.ajouter(new Contributeur("b",100));
g.ajouter(new Contributeur("c",75));
assertEquals(3,g.nombreDeCotisants());
assertTrue(g.accepter(new CompositeValide(50)));
assertTrue(g.accepter(new CompositeValide(75)));
assertFalse(g.accepter(new CompositeValide(76)));
GroupeDeContributeurs g2 = new GroupeDeContributeurs("g2");
GroupeDeContributeurs g2_1 = new GroupeDeContributeurs("g2_1");
GroupeDeContributeurs g2_2 = new GroupeDeContributeurs("g2_2");
GroupeDeContributeurs g2_3 = new GroupeDeContributeurs("g2_3");
GroupeDeContributeurs g2_4 = new GroupeDeContributeurs("g2_4");
g2.ajouter(g2_1);
g2.ajouter(g2_2);
g2.ajouter(g2_3);
g2.ajouter(g2_4);
g2_1.ajouter(new Contributeur("a",100));
g2_2.ajouter(new Contributeur("a",100));
g2_3.ajouter(new Contributeur("a",75));
g2_4.ajouter(new Contributeur("a",100));
g2_4.ajouter(new Contributeur("b",100));
assertEquals(5,g2.nombreDeCotisants());
assertFalse(g2.accepter(new SansDoublon()));
assertEquals((Integer) 75,g2.accepter(new DebitMaximal()));
}
Avant de re-soumettre à JNEWS est-il possible d'avoir votre retour?