mise à jour Morgann

This commit is contained in:
sio 2024-09-19 11:55:10 +02:00
parent 9e6a9cc867
commit 6bcc94486f
2 changed files with 36 additions and 33 deletions

View File

@ -40,36 +40,36 @@ private final HashMap<Instrument, Integer> lesLignes = new HashMap<>();
//il faut empêcher l'ajout d'une ligne avec une quantité à 0 //il faut empêcher l'ajout d'une ligne avec une quantité à 0
//bien s'assurer que le stock est suffisant //bien s'assurer que le stock est suffisant
boolean ajoutOK=false; boolean ajoutOK=false;
//ajout d'un instrument existant dans la commande, ce sera une mise à jour de la ligne if(qte!=0){
if (lesLignes.containsKey(unInstrument))//l'instrument existe //ajout d'un instrument existant dans la commande, ce sera une mise à jour de la ligne
{ if (lesLignes.containsKey(unInstrument))//l'instrument existe
//récupération de la quantité en stock {
int oldQte=unInstrument.getQteStock(); //récupération de la quantité en stock
//réaffectation dans le stock de la quantité commandée int oldQte=unInstrument.getQteStock();
int qteStock=oldQte+ this.getLesLignes().get(unInstrument); //réaffectation dans le stock de la quantité commandée
unInstrument.setQteStock(qteStock); int qteStock=oldQte+ this.getLesLignes().get(unInstrument);
//suppression ligne commande unInstrument.setQteStock(qteStock);
lesLignes.remove(unInstrument); //suppression ligne commande
//nouvel ajout lesLignes.remove(unInstrument);
this.ajouter(unInstrument,qte); //nouvel ajout
this.ajouter(unInstrument,qte);
}
else //nouvel instrument
{
//on s'assure qu'il y a assez de stock pour la commande
int qteDisponible = unInstrument.getQteStock();
if (qteDisponible<qte){
ajoutOK = false;
}else {
ajoutOK = true;
lesLignes.put(unInstrument,qte);
//màj qté stock pour déduire la qté commandée
unInstrument.setQteStock(qteDisponible-qte);
}
}
}
else //nouvel instrument
{
//on s'assure qu'il y a assez de stock pour la commande
int qteDisponible = unInstrument.getQteStock();
if (qteDisponible<qte){
ajoutOK = false;
}else {
ajoutOK = true;
lesLignes.put(unInstrument,qte);
//màj qté stock pour déduire la qté commandée
unInstrument.setQteStock(qteDisponible-qte);
}
}
}
return ajoutOK; return ajoutOK;
} }
/** /**

View File

@ -78,9 +78,9 @@ public class CommandeTest {
/*MAISSANE*/ /*MAISSANE*/
System.out.println("Cas4 : ajout nouvelle ligne avec quantité 0"); System.out.println("Cas4 : ajout nouvelle ligne avec quantité 0");
System.out.println("Cas4 : ajout nouvelle ligne avec quantité 0"); System.out.println("Cas4 : ajout nouvelle ligne avec quantité 0");
laCommande.ajouter(instr3, 0); boolean AjouterObtenu=laCommande.ajouter(instr3, 0);
boolean Ajouter= false; boolean AjouterA= false;
assertEquals("Test4 ajout 0 instr3",Ajouter); assertEquals("Test4 ajout 0 instr3",AjouterA,AjouterObtenu);
int lignes=laCommande.getLesLignes().size(); int lignes=laCommande.getLesLignes().size();
int nbLigneAttendu = 2; int nbLigneAttendu = 2;
assertEquals("Test4 taille",nbLigneAttendu,lignes); assertEquals("Test4 taille",nbLigneAttendu,lignes);
@ -95,6 +95,9 @@ public class CommandeTest {
stockRes=instr2.getQteStock(); stockRes=instr2.getQteStock();
stockAttendu=9; stockAttendu=9;
assertEquals("test5 stock",stockAttendu,stockRes ); assertEquals("test5 stock",stockAttendu,stockRes );
tailleR=laCommande.getLesLignes().size();
tailleAttendue=2;
assertEquals("Test1 taille",tailleAttendue,tailleR);
/*ILONA*/ /*ILONA*/
System.out.println("Cas6 : màj d'une ligne existante avec qté>stock"); System.out.println("Cas6 : màj d'une ligne existante avec qté>stock");
System.out.println("Cas6 : màj d'une ligne existante avec qté>stock"); System.out.println("Cas6 : màj d'une ligne existante avec qté>stock");