Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8fa260fd23 | ||
|
9977862a27 | ||
|
85ab2c6bec | ||
|
45a93f086a | ||
|
0680043384 | ||
|
b02b4b8bcf |
@@ -48,7 +48,10 @@ javac.source=21
|
||||
javac.target=21
|
||||
javac.test.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}
|
||||
${build.classes.dir}:\
|
||||
${libs.junit_5.classpath}:\
|
||||
${libs.junit_4.classpath}:\
|
||||
${libs.hamcrest.classpath}
|
||||
javac.test.modulepath=\
|
||||
${javac.modulepath}
|
||||
javac.test.processorpath=\
|
||||
|
@@ -25,8 +25,10 @@ public class Test {
|
||||
Commande laCommande = new Commande(1,1,"12/09/2024");
|
||||
lEntreprise.ajouterCommande(laCommande);
|
||||
|
||||
//Ajouter à la commande une ligne de 2 instr1
|
||||
laCommande.ajouter(instr1, 2);
|
||||
//Test Cas0-Ajouter à la commande une ligne de 2 instr1
|
||||
System.out.println("Résultat de l'ajout de 2 instr1 à la commande :" + laCommande.ajouter(instr1, 2) );
|
||||
System.out.println("Nouveau stock de instr1 : "+instr1.getQteStock());
|
||||
System.out.println("Quantité de la ligne de commande de instr1 :"+laCommande.getLesLignes().get(instr1));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -36,15 +36,40 @@ private final HashMap<Instrument, Integer> lesLignes = new HashMap<>();
|
||||
* @return true si l'ajout est bon
|
||||
*/
|
||||
public boolean ajouter(Instrument unInstrument, int qte){
|
||||
boolean ajoutOK;
|
||||
|
||||
//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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ajoutOK;
|
||||
}
|
||||
/**
|
||||
@@ -55,7 +80,7 @@ private final HashMap<Instrument, Integer> lesLignes = new HashMap<>();
|
||||
public boolean supprimer(Instrument unInstrument){
|
||||
//lesLignes.remove(unInstrument);
|
||||
boolean suppOK;
|
||||
if (lesLignes.containsValue(unInstrument) == true){
|
||||
if (lesLignes.containsKey(unInstrument) == true){
|
||||
suppOK = true;
|
||||
lesLignes.remove(unInstrument);
|
||||
} else {
|
||||
|
112
test/métiers/CommandeTest.java
Normal file
112
test/métiers/CommandeTest.java
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit4TestClass.java to edit this template
|
||||
*/
|
||||
package métiers;
|
||||
|
||||
import java.util.HashMap;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author famille Thevenot
|
||||
*/
|
||||
public class CommandeTest {
|
||||
|
||||
public CommandeTest() {
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test of ajouter method, of class Commande.
|
||||
*/
|
||||
@Test
|
||||
public void testAjouter() {
|
||||
Instrument instr1=new Instrument(1,"Piano",10, 8300f);
|
||||
Instrument instr2=new Instrument(2,"Violon",9, 105f);
|
||||
Instrument instr3=new Instrument(3,"piano",8, 105f);
|
||||
Commande laCommande = new Commande(1,1,"12/09/2024");
|
||||
System.out.println("ajouter");
|
||||
//cas 0
|
||||
boolean ajoutRes= laCommande.ajouter(instr1, 2);
|
||||
boolean ajoutAttendu = true;
|
||||
System.out.println("cas0 : cas normal, ajout une ligne de commande");
|
||||
assertEquals("Test0 ajout 2 instr1",ajoutAttendu,ajoutRes);
|
||||
int stockRes=instr1.getQteStock();
|
||||
int stockAttendu=8;
|
||||
assertEquals("Test0 stock",stockAttendu,stockRes);
|
||||
int qteRes=laCommande.getLesLignes().get(instr1);
|
||||
int qteAttendu=2;
|
||||
assertEquals("Test0 quantite",qteRes, qteAttendu);
|
||||
|
||||
//cas 1
|
||||
System.out.println("Cas1 : ajout autre ligne de commande");
|
||||
laCommande.ajouter(instr2, 6);
|
||||
int tailleR=laCommande.getLesLignes().size();
|
||||
int tailleAttendue=2;
|
||||
assertEquals("Test1 taille",tailleAttendue,tailleR);
|
||||
|
||||
//Cas2
|
||||
System.out.println("Cas2 : màj quantité commandée d'une ligne existante");
|
||||
laCommande.ajouter(instr2, 5);
|
||||
stockRes=instr2.getQteStock();
|
||||
stockAttendu=4;
|
||||
assertEquals("test2 stock",stockAttendu,stockRes );
|
||||
|
||||
qteRes=laCommande.getLesLignes().get(instr2);
|
||||
qteAttendu=5;
|
||||
assertEquals("Test2 quantite", qteAttendu,qteRes);
|
||||
|
||||
/*INES*/
|
||||
System.out.println("Cas3 : ajout nouvelle ligne avec quantité > stock");
|
||||
|
||||
boolean test= laCommande.ajouter(instr3, 12);
|
||||
stockRes=instr3.getQteStock();
|
||||
stockAttendu=8;
|
||||
boolean testResultExpected=false;
|
||||
|
||||
assertEquals("test3 stock",stockAttendu,stockRes );
|
||||
assertEquals("La méthode ajouter retourne false",testResultExpected,test );
|
||||
|
||||
System.out.println("Nombre de ligne dans le dictionnaire: "+laCommande.getLesLignes().size());
|
||||
System.out.println("Résultat de la méthode ajouter: " + test);
|
||||
|
||||
/*MAISSANE*/
|
||||
System.out.println("Cas4 : ajout nouvelle ligne avec quantité 0");
|
||||
/*MORGANN*/
|
||||
System.out.println("Cas5 : mise à 0 quantité commandée d'une ligne existante");
|
||||
/*ILONA*/
|
||||
System.out.println("Cas6 : màj d'une ligne existante avec qté>stock");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testSupprimer() {
|
||||
//instanciation
|
||||
|
||||
Instrument instr1=new Instrument(1,"Piano",10, 8300f);
|
||||
Instrument instr2=new Instrument(2,"Violon",9, 105f);
|
||||
Commande laCommande = new Commande(1,1,"12/09/2024");
|
||||
laCommande.ajouter(instr1, 2);
|
||||
boolean expectedResult=false;
|
||||
boolean expectedResult2=true;
|
||||
|
||||
// test
|
||||
|
||||
boolean test= laCommande.supprimer(instr2);
|
||||
boolean test2= laCommande.supprimer(instr1);
|
||||
|
||||
assertEquals("suppression impossible",expectedResult,test);
|
||||
assertEquals("suppression possible ",test2,expectedResult2 );
|
||||
|
||||
System.out.println("Nombre de ligne dans le dictionnaire: "+laCommande.getLesLignes().size());
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user