correction confif + Junit 5

This commit is contained in:
Rochas
2024-12-19 23:42:06 +01:00
parent b8d9eb5771
commit 45d796afc6
6 changed files with 79 additions and 11 deletions

View File

@@ -4,24 +4,33 @@ import src.fr.api.Category;
import src.fr.api.PartType;
import src.fr.api.CompatibilityManager;
import src.fr.api.Configuration;
import java.util.HashSet;
import java.util.Set;
public class ConfigurationImpl implements Configuration {
private Set<PartType> selectedParts;
private Set<PartType> selectedParts = new HashSet<PartType> ();
private CompatibilityManager compatibilityManager;
private static int NB_CATEGORY = 4;
public ConfigurationImpl(CompatibilityManager cm){
this.compatibilityManager=cm;
}
@Override
public boolean isValid() {
if (this.isComplete()){
for(PartType pt: selectedParts){
System.out.println(pt.getName());
//Verifier Requirements
for(PartType require : compatibilityManager.getRequirements(pt)){
System.out.println("\t"+require.getName());
if(!selectedParts.contains(require)) return false;
}
//Verifier Incompabilities
for(PartType incompa : compatibilityManager.getIncompatibilities(pt)){
System.out.println("\t"+incompa.getName());
if(selectedParts.contains(incompa)) return false;
}
}
@@ -53,7 +62,8 @@ public class ConfigurationImpl implements Configuration {
for( PartType pt: selectedParts){
if(pt.getCategory().equals(cat_chosenPart)){
System.out.println("Il y a une pièce dans la même catégorie dans la configuration");
return;
selectedParts.remove(pt);
break;
}
}
selectedParts.add(chosenPart);