From da15ad375ba4f93a7b4d0736295e0e19a1e888b9 Mon Sep 17 00:00:00 2001 From: Tanguy Herbron Date: Fri, 30 Nov 2018 18:17:47 +0100 Subject: [PATCH] [POO Note] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Explication de certaines partie du code - Détails concernant la modification du sujet/des tests unitaires --- ENSIM/Java/POOtpnote/.idea/workspace.xml | 346 +++++++++++------- .../src/main/java/entity/Administrateur.java | 14 +- .../src/main/java/entity/Agence.java | 2 +- .../src/main/java/entity/Empruntable.java | 2 +- .../src/main/java/entity/Emprunteur.java | 4 +- .../src/main/java/entity/Entreprise.java | 2 +- .../src/test/java/AdministrateurTest.java | 3 +- .../src/test/java/EmprunteurTest.java | 5 +- 8 files changed, 234 insertions(+), 144 deletions(-) diff --git a/ENSIM/Java/POOtpnote/.idea/workspace.xml b/ENSIM/Java/POOtpnote/.idea/workspace.xml index 8342826..dc241e9 100644 --- a/ENSIM/Java/POOtpnote/.idea/workspace.xml +++ b/ENSIM/Java/POOtpnote/.idea/workspace.xml @@ -2,7 +2,13 @@ - + + + + + + + @@ -22,25 +28,25 @@ - + - + - + - + @@ -51,8 +57,8 @@ - - + + @@ -84,8 +90,8 @@ - - + + @@ -100,10 +106,24 @@ + + + + + + + + + + + + + + - - + + @@ -129,8 +149,8 @@ - - + + @@ -146,8 +166,8 @@ - - + + @@ -163,11 +183,11 @@ - + - - + + @@ -179,22 +199,6 @@ - - - - - - - - - - - - - - - - @@ -232,16 +236,17 @@ @@ -322,7 +327,7 @@ - + @@ -442,7 +447,7 @@ - + @@ -450,11 +455,11 @@ - + - + @@ -562,73 +567,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -639,24 +577,6 @@ - - - - - - - - - - - - - - - - - - @@ -675,10 +595,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -689,9 +634,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + + + + + + + + 1.8 + + + + + + + + POOtpnote + + + + + 1.8 @@ -704,6 +774,18 @@ + + + Maven: junit:junit:4.12 + + + + + \ No newline at end of file diff --git a/ENSIM/Java/POOtpnote/src/main/java/entity/Administrateur.java b/ENSIM/Java/POOtpnote/src/main/java/entity/Administrateur.java index e611c1f..6923735 100644 --- a/ENSIM/Java/POOtpnote/src/main/java/entity/Administrateur.java +++ b/ENSIM/Java/POOtpnote/src/main/java/entity/Administrateur.java @@ -15,7 +15,10 @@ public class Administrateur extends Employe { LOG.debug("Création d'un administrateur"); } - //TODO Expliquer le fonctionnement de la méthode en détail + //La méthode attribuerMateriel fonctionne de la manière suivante : + //Si l'empruntable n'a aucune limitation, on retourne le succès ou l'échec de l'ajout à la liste du stock. + //Si une limitation est présente, on vérifie d'abord si l'emprunteur est bien une entreprise ou un agent. + //Ensuite on retourne le succès ou l'échec de l'ajout à la liste stock. public boolean attribuerMateriel(Empruntable empruntable, Emprunteur emprunteur) { if(empruntable.isLimitationPretAuxAgence()) @@ -63,7 +66,10 @@ public class Administrateur extends Employe { return agence.listeMateriel(); } - //TODO Détailler cette méthode + //On vérifie d'abord si le premier emprunteur possède bien l'empruntable qu'il faut transférer + //Si l'attribution à l'autre emprunteur est validée, on enlève le matériel de l'envoyeur + //Cela évite de transférer un empruntable si la cible n'a pas les autorisations d'avoir cet objet + //Ex : Un empruntable avec limitation ne peut pas aller à un employé public void transfererMateriel(Emprunteur emprunteurSend, Empruntable empruntable, Emprunteur emprunteurReceive) { if(emprunteurSend.listeMateriel().contains(empruntable)) @@ -75,8 +81,8 @@ public class Administrateur extends Employe { } } - //TODO Détailler pourquoi passer parmis les employés de l'agence ET de l'entreprise (SS2I) - //TODO Peut-être passer par toutes les agences de l'entreprise ? + //On supprime le matériel de l'intégralité de l'entreprise, donc aussi de chaque agence et de chaque employé de l'entreprise ainsi que de chaque agence. + //On vérifie bien que le matériel est supprimé de toutes les agences indépendamment des entreprises (en cas de membres provenant d'SS2I) public void supprimerMateriel(Empruntable empruntable) { entreprise.perdreMateriel(empruntable); diff --git a/ENSIM/Java/POOtpnote/src/main/java/entity/Agence.java b/ENSIM/Java/POOtpnote/src/main/java/entity/Agence.java index 33a2837..e6d70e3 100644 --- a/ENSIM/Java/POOtpnote/src/main/java/entity/Agence.java +++ b/ENSIM/Java/POOtpnote/src/main/java/entity/Agence.java @@ -18,7 +18,7 @@ public class Agence extends Emprunteur implements Comparable { return employes; } - //TODO Détailler l'ajout de l'ENSEMBLE des stocks + //Le matériel d'une agence est constitué du matériel de l'agence ainsi que du matériel de chaque employé de la dite agence. @Override public List listeMateriel() { diff --git a/ENSIM/Java/POOtpnote/src/main/java/entity/Empruntable.java b/ENSIM/Java/POOtpnote/src/main/java/entity/Empruntable.java index 9a9989e..51c9544 100644 --- a/ENSIM/Java/POOtpnote/src/main/java/entity/Empruntable.java +++ b/ENSIM/Java/POOtpnote/src/main/java/entity/Empruntable.java @@ -1,6 +1,6 @@ package entity; -//TODO Préciser pourquoi un package entity a été créé (héritage du matériel) +//Un package entity a été créé pour que les objets du package material puissent bien hérité d'empruntable public class Empruntable { private boolean limitationPretAuxAgence; diff --git a/ENSIM/Java/POOtpnote/src/main/java/entity/Emprunteur.java b/ENSIM/Java/POOtpnote/src/main/java/entity/Emprunteur.java index d8191bd..d0f42dd 100644 --- a/ENSIM/Java/POOtpnote/src/main/java/entity/Emprunteur.java +++ b/ENSIM/Java/POOtpnote/src/main/java/entity/Emprunteur.java @@ -12,7 +12,9 @@ public class Emprunteur{ stock = new ArrayList(); } - //TODO Amélioration de la méthode, préciser pourquoi utiliser un boolean plutôt qu'un void + //La méthode est ici amélioréé par rapport au sujet. + //J'utilise le retour de la méthode add de List comme valeur de retour. + //La méthode add retourne true si l'ajout a bien été effectué, false sinon. public boolean ajouterAuStock(Empruntable empruntable) { return stock.add(empruntable); diff --git a/ENSIM/Java/POOtpnote/src/main/java/entity/Entreprise.java b/ENSIM/Java/POOtpnote/src/main/java/entity/Entreprise.java index 87d7ace..dc8b084 100644 --- a/ENSIM/Java/POOtpnote/src/main/java/entity/Entreprise.java +++ b/ENSIM/Java/POOtpnote/src/main/java/entity/Entreprise.java @@ -26,7 +26,7 @@ public class Entreprise extends Emprunteur { return agences; } - //TODO Détailler l'ajout de l'ENSEMBLE des stocks + //Le stock d'une entreprise est composé du stock de l'entreprise, du stock de chaque agence ainsi que de chaque employé de l'entreprise @Override public List listeMateriel() { diff --git a/ENSIM/Java/POOtpnote/src/test/java/AdministrateurTest.java b/ENSIM/Java/POOtpnote/src/test/java/AdministrateurTest.java index 511aeb9..bc41e40 100644 --- a/ENSIM/Java/POOtpnote/src/test/java/AdministrateurTest.java +++ b/ENSIM/Java/POOtpnote/src/test/java/AdministrateurTest.java @@ -70,7 +70,8 @@ public class AdministrateurTest { } - //TODO Détailler modification par rapport au stock entreprise/administrateur (passage d'un stockage chez l'admin à un stockage dans l'entreprise) + //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(); diff --git a/ENSIM/Java/POOtpnote/src/test/java/EmprunteurTest.java b/ENSIM/Java/POOtpnote/src/test/java/EmprunteurTest.java index 85c226b..1af71c1 100644 --- a/ENSIM/Java/POOtpnote/src/test/java/EmprunteurTest.java +++ b/ENSIM/Java/POOtpnote/src/test/java/EmprunteurTest.java @@ -9,8 +9,6 @@ import org.junit.Test; import java.util.ArrayList; -//TODO Ajouter Log4J - public class EmprunteurTest { static Emprunteur e1; @@ -27,7 +25,8 @@ public class EmprunteurTest { Assert.assertEquals("ajouterAuStock: fail", stock+1, e1.listeMateriel().size()); } - //TODO Expliquer la modifification du test unitaire + //J'ai ici modifié le test unitaire car mes stocks sont initialisés à la création de mes entreprises. + //J'utilise aussi la méthode ajouterAuStock plutôt que la méthode générique add parce que ma variable stock est privée. @Test public void listeMateriel() { //e1.stock = new ArrayList();