read me terminé + nouveau test

This commit is contained in:
Rochas
2024-12-20 21:01:30 +01:00
parent 01970a625a
commit 1569746582
2 changed files with 51 additions and 4 deletions

View File

@@ -1,8 +1,8 @@
V1:
Nous testons d'abord le CompatibilityManager. On fait un BeforeEach pour initialisé un CompatibilityManager (celui vu en td)
On test si les Incompatibilities et Requirements sont bien récupérable à partir du CompatibilityManager avec les fonction getIncompatibilities et getRequirements.
Nous testons d'abord le CompatibilityManager. On fait un BeforeEach pour initialiser un CompatibilityManager (celui vu en TD)
On teste si les Incompatibilities et Requirements sont bien récupérables à partir du CompatibilityManager avec les fonctions getIncompatibilities et getRequirements. GetIncompatibilities et getRequirements doivent donner toutes les Part incompatibles ou Require, même si elles n'ont pas été données directement à la Part testée. On doit donc aussi vérifier la contradiction : A a besoin de B mais B est incompatible avec A, alors A est incompatible avec lui-même.
On teste aussi la configuration, en vérifiant si une configuration est complète et si elle est validée (dans notre implémentation V1, une configuration validée est forcément complète, mais pas forcément l'inverse).
nous ne savons pas pourquoi mais dans notre projet les tests avec couverture ne fonctionnent pas, les tets sont bien testé, mais il tourne dans le vide et ne donne jamais le résultat de la couverture...

View File

@@ -3,7 +3,7 @@ package src.fr.test;
import java.util.Set;
import java.util.HashSet;
import static org.junit.Assert.assertFalse;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
@@ -43,6 +43,7 @@ public class test {
PartType IH= new PartTypeImpl("IH", Interior);
PartType IS= new PartTypeImpl("IS", Interior);
CompatibilityManager cm;
@@ -208,6 +209,27 @@ public class test {
assertTrue(cm.getIncompatibilities(TSF7).contains(ED110));
}
@Test
public void test_contradiction(){
CompatibilityManager cm2 = new CompatibilityManagerImpl();
PartType eg= new PartTypeImpl("Eg", Engine);
PartType tr= new PartTypeImpl("Tr", Transmission);
Set<PartType> egIncompatibilities = new HashSet<PartType>();
egIncompatibilities.add(tr);
cm.addIncompatibilities(eg, egIncompatibilities);
Set<PartType> efRequirement = new HashSet<PartType>();
efRequirement.add(eg);
cm.addRequirements(tr, efRequirement);
assertFalse(cm.getIncompatibilities(eg).contains(eg));
assertTrue(cm.getRequirements(tr).contains(eg));
assertTrue(cm.getIncompatibilities(tr).contains(tr)); //tr Require eg, eg Incompatible tr, -> eg Incompatible eg
}
@Test
public void test_isComplete_empty_config(){
ConfigurationImpl config1 = new ConfigurationImpl(cm);
@@ -285,4 +307,29 @@ public class test {
assertFalse(config1.isValid());
}
@Test
public void test_contradiction_config(){
CompatibilityManager cm2 = new CompatibilityManagerImpl();
PartType eg= new PartTypeImpl("Eg", Engine);
PartType tr= new PartTypeImpl("Tr", Transmission);
PartType ex= new PartTypeImpl("Ex", Exterior);
PartType in= new PartTypeImpl("In", Interior);
Set<PartType> egIncompatibilities = new HashSet<PartType>();
egIncompatibilities.add(tr);
cm.addIncompatibilities(eg, egIncompatibilities);
Set<PartType> efRequirement = new HashSet<PartType>();
efRequirement.add(eg);
cm.addRequirements(eg, efRequirement);
ConfigurationImpl config1 = new ConfigurationImpl(cm);
config1.selectPart(eg);
config1.selectPart(tr);
config1.selectPart(ex);
config1.selectPart(in);
assertFalse(config1.isValid());
}
}