Skip to content
Snippets Groups Projects
Commit de7e7940 authored by Maxence Antoine's avatar Maxence Antoine
Browse files

test a modifier et arranger pour la conformité des tests

parent f9ab0f41
No related branches found
No related tags found
No related merge requests found
...@@ -5,17 +5,18 @@ import static org.junit.jupiter.api.Assertions.*; ...@@ -5,17 +5,18 @@ import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import fr.univlille.sae.classification.model.LoadableData; import fr.univlille.sae.classification.model.LoadableData;
import fr.univlille.sae.classification.knn.MethodKNN; import fr.univlille.sae.classification.knn.MethodKNN;
import fr.univlille.sae.classification.knn.distance.DistanceManhattanNormalisée;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
public class DistanceManhattanNormaliséeTest { import java.util.Map;
private DistanceManhattanNormalisée distanceManhattan; public class DistanceManhattanNormaliseeTest {
private DistanceManhattanNormalisee distanceManhattan;
@BeforeEach @BeforeEach
public void setUp() { public void setUp() {
// Initialisation de l'objet DistanceManhattanNormalisée avant chaque test // Initialisation de l'objet DistanceManhattanNormalisee avant chaque test
distanceManhattan = new DistanceManhattanNormalisée(); distanceManhattan = new DistanceManhattanNormalisee();
// Définition des valeurs de normalisation dans MethodKNN (à ajuster selon votre logique) // Définition des valeurs de normalisation dans MethodKNN (à ajuster selon votre logique)
MethodKNN.minData = new double[] {0.0, 0.0}; // Valeurs minimales pour les attributs MethodKNN.minData = new double[] {0.0, 0.0}; // Valeurs minimales pour les attributs
...@@ -25,8 +26,58 @@ public class DistanceManhattanNormaliséeTest { ...@@ -25,8 +26,58 @@ public class DistanceManhattanNormaliséeTest {
@Test @Test
public void testDistanceSimple() { public void testDistanceSimple() {
// Création de deux objets LoadableData avec des attributs simples // Création de deux objets LoadableData avec des attributs simples
LoadableData data1 = new LoadableData(new double[] {1.0, 2.0}); LoadableData data1 = new LoadableData() {
LoadableData data2 = new LoadableData(new double[] {3.0, 5.0}); @Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
LoadableData data2 = new LoadableData() {
@Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
// Calcul de la distance manhattan normalisée // Calcul de la distance manhattan normalisée
double result = distanceManhattan.distance(data1, data2); double result = distanceManhattan.distance(data1, data2);
...@@ -41,8 +92,58 @@ public class DistanceManhattanNormaliséeTest { ...@@ -41,8 +92,58 @@ public class DistanceManhattanNormaliséeTest {
@Test @Test
public void testDistanceZero() { public void testDistanceZero() {
// Deux objets avec les mêmes attributs (la distance devrait être 0) // Deux objets avec les mêmes attributs (la distance devrait être 0)
LoadableData data1 = new LoadableData(new double[] {1.0, 2.0}); LoadableData data1 = new LoadableData() {
LoadableData data2 = new LoadableData(new double[] {1.0, 2.0}); @Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
LoadableData data2 = new LoadableData() {
@Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
// Vérification que la distance est bien 0 // Vérification que la distance est bien 0
double result = distanceManhattan.distance(data1, data2); double result = distanceManhattan.distance(data1, data2);
...@@ -52,8 +153,58 @@ public class DistanceManhattanNormaliséeTest { ...@@ -52,8 +153,58 @@ public class DistanceManhattanNormaliséeTest {
@Test @Test
public void testDistanceAvecValeursExtremes() { public void testDistanceAvecValeursExtremes() {
// Test avec des valeurs maximales ou minimales (hypothétiques dans ce cas) // Test avec des valeurs maximales ou minimales (hypothétiques dans ce cas)
LoadableData data1 = new LoadableData(new double[] {Double.MAX_VALUE, Double.MIN_VALUE}); LoadableData data1 = new LoadableData() {
LoadableData data2 = new LoadableData(new double[] {Double.MIN_VALUE, Double.MAX_VALUE}); @Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
LoadableData data2 = new LoadableData() {
@Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
double result = distanceManhattan.distance(data1, data2); double result = distanceManhattan.distance(data1, data2);
...@@ -67,7 +218,32 @@ public class DistanceManhattanNormaliséeTest { ...@@ -67,7 +218,32 @@ public class DistanceManhattanNormaliséeTest {
@Test @Test
public void testDistanceAvecDonneesNulles() { public void testDistanceAvecDonneesNulles() {
// Test avec des données nulles // Test avec des données nulles
LoadableData data1 = new LoadableData(new double[] {1.0, 2.0}); LoadableData data1 = new LoadableData() {
@Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
LoadableData data2 = null; LoadableData data2 = null;
try { try {
...@@ -81,8 +257,58 @@ public class DistanceManhattanNormaliséeTest { ...@@ -81,8 +257,58 @@ public class DistanceManhattanNormaliséeTest {
@Test @Test
public void testDistanceAvecDonneesVides() { public void testDistanceAvecDonneesVides() {
// Test avec des données vides (tous les attributs sont 0 ou absents) // Test avec des données vides (tous les attributs sont 0 ou absents)
LoadableData data1 = new LoadableData(new double[] {}); LoadableData data1 = new LoadableData() {
LoadableData data2 = new LoadableData(new double[] {}); @Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
LoadableData data2 = new LoadableData() {
@Override
public String getClassification() {
return null;
}
@Override
public void setClassification(String classification) {
}
@Override
public Map<String, Object> getAttributesNames() {
return null;
}
@Override
public double[] getAttributes() {
return new double[0];
}
@Override
public String[] getStringAttributes() {
return new String[0];
}
};
// La distance devrait être 0 car il n'y a aucune différence d'attribut // La distance devrait être 0 car il n'y a aucune différence d'attribut
double result = distanceManhattan.distance(data1, data2); double result = distanceManhattan.distance(data1, data2);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment