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
//bien s'assurer que le stock est suffisant
boolean ajoutOK=false;
//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éaffectation dans le stock de la quantité commandée
int qteStock=oldQte+ this.getLesLignes().get(unInstrument);
unInstrument.setQteStock(qteStock);
//suppression ligne commande
lesLignes.remove(unInstrument);
//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);
}
}
if(qte!=0){
//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éaffectation dans le stock de la quantité commandée
int qteStock=oldQte+ this.getLesLignes().get(unInstrument);
unInstrument.setQteStock(qteStock);
//suppression ligne commande
lesLignes.remove(unInstrument);
//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);
}
}
}
return ajoutOK;
}
/**

View File

@ -78,9 +78,9 @@ public class CommandeTest {
/*MAISSANE*/
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 Ajouter= false;
assertEquals("Test4 ajout 0 instr3",Ajouter);
boolean AjouterObtenu=laCommande.ajouter(instr3, 0);
boolean AjouterA= false;
assertEquals("Test4 ajout 0 instr3",AjouterA,AjouterObtenu);
int lignes=laCommande.getLesLignes().size();
int nbLigneAttendu = 2;
assertEquals("Test4 taille",nbLigneAttendu,lignes);
@ -95,6 +95,9 @@ public class CommandeTest {
stockRes=instr2.getQteStock();
stockAttendu=9;
assertEquals("test5 stock",stockAttendu,stockRes );
tailleR=laCommande.getLesLignes().size();
tailleAttendue=2;
assertEquals("Test1 taille",tailleAttendue,tailleR);
/*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");