- Explication de certaines partie du code - Détails concernant la modification du sujet/des tests unitaires
180 lines
6.2 KiB
Java
180 lines
6.2 KiB
Java
// Vos imports
|
|
|
|
import entity.*;
|
|
import material.Clavier;
|
|
import material.Ecran;
|
|
import material.Souris;
|
|
import material.UC;
|
|
import org.junit.Assert;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
public class AdministrateurTest {
|
|
Entreprise e;
|
|
Agence a1, a2;
|
|
Empruntable e1, e2, e3, e4, e5, e6;
|
|
Employe admin, emp1, emp2, emp3, emp4;
|
|
|
|
@Before
|
|
public void setUp() throws Exception {
|
|
|
|
e = new Entreprise("Super Entreprise de l'ENSIM");
|
|
a1 = new Agence("Agence du Sud");
|
|
a2 = new Agence("Agence du Nord");
|
|
|
|
e.getAgences().add(a1);
|
|
e.getAgences().add(a2);
|
|
|
|
e1 = new UC(true);
|
|
e2 = new Ecran();
|
|
e3 = new Souris();
|
|
e4 = new Clavier();
|
|
e5 = new Clavier();
|
|
e6 = new Ecran();
|
|
|
|
/*
|
|
e.ajouterAuStock(e1);
|
|
e.ajouterAuStock(e2);
|
|
e.ajouterAuStock(e3);
|
|
e.ajouterAuStock(e4);
|
|
e.ajouterAuStock(e5);
|
|
e.ajouterAuStock(e6);
|
|
*/
|
|
|
|
|
|
admin = new Administrateur(a1, e);
|
|
emp1 = new Employe(a1, e);
|
|
emp2 = new Employe(a1, e);
|
|
emp3 = new Employe(a2, e);
|
|
emp4 = new Employe(a2, e);
|
|
|
|
a1.getEmployes().add(admin);
|
|
a1.getEmployes().add(emp1);
|
|
a1.getEmployes().add(emp2);
|
|
|
|
a2.getEmployes().add(emp3);
|
|
a2.getEmployes().add(emp4);
|
|
/*
|
|
e5.declarerDefectueux();
|
|
e6.declarerDefectueux();
|
|
*/
|
|
}
|
|
|
|
@Test
|
|
public void attribuerMateriel() {
|
|
|
|
int stockActuel = admin.listeMateriel().size();
|
|
((Administrateur) admin).attribuerMateriel(new Ecran(), admin);
|
|
|
|
Assert.assertEquals("attribuerMateriel: fail", stockActuel + 1, admin.listeMateriel().size());
|
|
}
|
|
|
|
|
|
//J'ai ici modifié le test unitaire pour que l'on vérifie le stock de l'entreprise et non de l'administrateur.
|
|
//Il me semblait plus logique que lors de la récupération du matériel, ce soit l'entreprise qui le récupère plutôt que l'admin ramèune ça chez lui.
|
|
@Test
|
|
public void recupererMateriel() {
|
|
int stockActuel = admin.listeMateriel().size();
|
|
emp1.listeMateriel().add(e1);
|
|
((Administrateur) admin).recupererMateriel(e1, emp1);
|
|
|
|
Assert.assertEquals("recupererMateriel: fail", stockActuel + 1, ((Administrateur) admin).stockEntreprise().size());
|
|
}
|
|
|
|
@Test
|
|
public void stockEntreprise() {
|
|
e.listeMateriel().add(e1);
|
|
int stockEntreprise = ((Administrateur) admin).stockEntreprise().size();
|
|
Assert.assertEquals("stock entreprise: fail", 1, stockEntreprise);
|
|
}
|
|
|
|
@Test
|
|
public void stockAgence() {
|
|
a1.listeMateriel().add(e1);
|
|
int stockAgence = ((Administrateur) admin).stockAgence().size();
|
|
Assert.assertEquals("stock agence de l'admin: fail", 1, stockAgence);
|
|
}
|
|
|
|
@Test
|
|
public void transfererMateriel_envoyeurNaPasObjetTransfere() {
|
|
int stockEmp2 = emp2.listeMateriel().size();
|
|
((Administrateur) admin).transfererMateriel(emp1, e2, emp2);
|
|
Assert.assertEquals("transfererMateriel (envoyeur n'a pas l'objet transféré): fail", stockEmp2, emp2.listeMateriel().size());
|
|
}
|
|
|
|
@Test
|
|
public void transfererMateriel_envoyeurAObjectMaisReserveAgence() {
|
|
int stockEmp2 = emp2.listeMateriel().size();
|
|
a1.listeMateriel().add(e1);
|
|
|
|
((Administrateur) admin).transfererMateriel(a1, e1, emp2);
|
|
Assert.assertEquals("transfererMateriel (envoyeur a l'objet mais transfert réservé agences): fail", stockEmp2, emp2.listeMateriel().size());
|
|
}
|
|
|
|
@Test
|
|
public void transfererMateriel_OK() {
|
|
int stockEmp2 = emp2.listeMateriel().size();
|
|
emp1.listeMateriel().add(e2);
|
|
((Administrateur) admin).transfererMateriel(emp1, e2, emp2);
|
|
Assert.assertEquals("transfererMateriel (transfert OK): fail", stockEmp2 + 1, emp2.listeMateriel().size());
|
|
}
|
|
|
|
|
|
@Test
|
|
public void supprimerMaterielDefectueuxEntreprise_sansMaterielDefectueux() {
|
|
e.listeMateriel().add(e4);
|
|
e.listeMateriel().add(e5);
|
|
|
|
int stockE = e.listeMateriel().size();
|
|
((Administrateur) admin).supprimerMaterielDefectueuxEntreprise();
|
|
Assert.assertEquals("supprimerMaterielDefectueuxEntreprise_sansMaterielDefectueux: fail", stockE, e.listeMateriel().size());
|
|
}
|
|
|
|
@Test
|
|
public void supprimerMaterielDefectueuxEntreprise_avecMaterielDefectueux() {
|
|
e.listeMateriel().add(e4);
|
|
e.listeMateriel().add(e5);
|
|
e5.declarerDefectueux();
|
|
|
|
int stockE = e.listeMateriel().size();
|
|
((Administrateur) admin).supprimerMaterielDefectueuxEntreprise();
|
|
Assert.assertEquals("supprimerMaterielDefectueuxEntreprise_avecMaterielDefectueux: fail", stockE - 1, e.listeMateriel().size());
|
|
for (Empruntable e : e.listeMateriel()) {
|
|
Assert.assertEquals("supprimerMaterielDefectueuxEntreprise_avecMaterielDefectueux: fail car il reste un Empruntable defectueux", false, e.isDefectueux());
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void supprimerMaterielDefectueuxAgence_sansMaterielDefectueux() {
|
|
a1.listeMateriel().add(e4);
|
|
a1.listeMateriel().add(e5);
|
|
|
|
int stockA1 = a1.listeMateriel().size();
|
|
((Administrateur) admin).supprimerMaterielDefectueuxAgence();
|
|
Assert.assertEquals("supprimerMaterielDefectueuxAgence_sansMaterielDefectueux: fail", stockA1, a1.listeMateriel().size());
|
|
}
|
|
|
|
@Test
|
|
public void supprimerMaterielDefectueuxAgence_avecMaterielDefectueux() {
|
|
a1.listeMateriel().add(e4);
|
|
a1.listeMateriel().add(e5);
|
|
e5.declarerDefectueux();
|
|
|
|
int stockA1 = a1.listeMateriel().size();
|
|
((Administrateur) admin).supprimerMaterielDefectueuxAgence();
|
|
Assert.assertEquals("supprimerMaterielDefectueuxAgence_avecMaterielDefectueux: fail", stockA1 - 1, a1.listeMateriel().size());
|
|
for (Empruntable e : a1.listeMateriel()) {
|
|
Assert.assertEquals("supprimerMaterielDefectueuxAgence_avecMaterielDefectueux: fail car il reste un Empruntable defectueux", false, e.isDefectueux());
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void achatMateriel()
|
|
{
|
|
int stockA1 = e.listeMateriel().size();
|
|
((Administrateur) admin).achatDeMateriel(e1);
|
|
|
|
Assert.assertEquals("achatDeMateriel: fail", stockA1 + 1, e.listeMateriel().size());
|
|
}
|
|
}
|