Skip to content
Snippets Groups Projects
Commit 7b61a721 authored by tompotio's avatar tompotio
Browse files

V2

parent 42c94a7e
Branches
Tags V2
No related merge requests found
package DP.Composite;
import DP.Visiteur.PersonnageVisite;
public interface EquipeI extends PersonnageVisite {
}
package DP.Visiteur;
public interface PersonnageVisite {
public void accepter(VisiteurPersonnage visiteur);
}
package Personnage;
import DP.Composite.EquipeI;
import DP.Visiteur.PersonnageVisite;
import DP.Visiteur.VisiteurPersonnage;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Equipe implements PersonnageVisite, Iterable<EquipeI> {
ArrayList<EquipeI> equipeIS;
public Equipe(){
this.equipeIS = new ArrayList<>();
}
public void ajouter(EquipeI... equipe){
this.equipeIS.addAll(List.of(equipe));
}
public void supprimer(EquipeI equipe) {
this.equipeIS.remove(equipe);
}
public int getTaille(){
return this.equipeIS.size();
}
@Override
public void accepter(VisiteurPersonnage visiteur) {
for (EquipeI equipe : equipeIS){
equipe.accepter(visiteur);
}
}
@Override
public Iterator<EquipeI> iterator() {
return equipeIS.iterator();
}
}
package Personnage;
import Arme.*;
import DP.Visiteur.VisiteurPersonnage;
import DP.Composite.EquipeI;
import DP.Visiteur.PersonnageVisite;
public abstract class Personnage {
public abstract class Personnage implements PersonnageVisite, EquipeI {
private int pointsDeVie;
private int niveau;
private String nom;
......@@ -22,5 +23,4 @@ public abstract class Personnage {
public int getNiveau(){
return this.niveau;
}
public abstract void accepter(VisiteurPersonnage visiteur);
}
package Tests;
import DP.Composite.EquipeI;
import Personnage.*;
import Visiteur.NiveauVisiteur;
import org.junit.jupiter.api.Test;
public class V2Test {
@Test
public void testEquipe(){
Equipe equipe = new Equipe();
Guerrier guerrier = new Guerrier("Thomas",50);
Guerisseur guerisseur = new Guerisseur("Joseph",23);
Sorcier sorcier = new Sorcier("Harry",12);
Roi roi = new Roi("Arthur",55);
equipe.ajouter(guerrier,guerisseur,sorcier,roi);
assert equipe.getTaille() == 4 : "Les équipiers n'ont pas correctement été insérés.";
NiveauVisiteur niveauVisiteur = new NiveauVisiteur();
// On va vérifier que tous les équipiers gagnent en niveau.
// D'abord on vérifie que tout le monde est initialisé au niveau 0.
for (EquipeI equipier : equipe){
Personnage p = (Personnage) equipier;
assert (p.getNiveau() == 0) : "Le niveau de l'équipier a mal été initialisé.";
}
equipe.accepter(niveauVisiteur);
for (EquipeI equipier : equipe){
Personnage p = (Personnage) equipier;
assert (p.getNiveau() == 1) : "Le niveau de l'équipier n'a pas correctement augmenté !";
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment