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.*;
import org.junit.jupiter.api.Test;
import fr.univlille.sae.classification.model.LoadableData;
import fr.univlille.sae.classification.knn.MethodKNN;
import fr.univlille.sae.classification.knn.distance.DistanceManhattanNormalisée;
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
public void setUp() {
// Initialisation de l'objet DistanceManhattanNormalisée avant chaque test
distanceManhattan = new DistanceManhattanNormalisée();
// Initialisation de l'objet DistanceManhattanNormalisee avant chaque test
distanceManhattan = new DistanceManhattanNormalisee();
// 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
......@@ -25,8 +26,58 @@ public class DistanceManhattanNormaliséeTest {
@Test
public void testDistanceSimple() {
// Création de deux objets LoadableData avec des attributs simples
LoadableData data1 = new LoadableData(new double[] {1.0, 2.0});
LoadableData data2 = new LoadableData(new double[] {3.0, 5.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 = 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
double result = distanceManhattan.distance(data1, data2);
......@@ -41,8 +92,58 @@ public class DistanceManhattanNormaliséeTest {
@Test
public void testDistanceZero() {
// Deux objets avec les mêmes attributs (la distance devrait être 0)
LoadableData data1 = new LoadableData(new double[] {1.0, 2.0});
LoadableData data2 = 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 = 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
double result = distanceManhattan.distance(data1, data2);
......@@ -52,8 +153,58 @@ public class DistanceManhattanNormaliséeTest {
@Test
public void testDistanceAvecValeursExtremes() {
// 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 data2 = new LoadableData(new double[] {Double.MIN_VALUE, Double.MAX_VALUE});
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 = 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);
......@@ -67,7 +218,32 @@ public class DistanceManhattanNormaliséeTest {
@Test
public void testDistanceAvecDonneesNulles() {
// 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;
try {
......@@ -81,8 +257,58 @@ public class DistanceManhattanNormaliséeTest {
@Test
public void testDistanceAvecDonneesVides() {
// Test avec des données vides (tous les attributs sont 0 ou absents)
LoadableData data1 = new LoadableData(new double[] {});
LoadableData data2 = new LoadableData(new double[] {});
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 = 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
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