From ca93fcbc559e6de07be7b6b5572da2256b05afed Mon Sep 17 00:00:00 2001
From: Numbtus <matias.mennecart.etu@univ-lille.fr>
Date: Fri, 29 Nov 2024 21:57:35 +0100
Subject: [PATCH] edit knn tests

---
 .../sae/classification/knn/MethodKNNTest.java | 35 ++++++++++++-------
 1 file changed, 23 insertions(+), 12 deletions(-)

diff --git a/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java b/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java
index cbeac97..5fb848c 100644
--- a/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java
+++ b/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java
@@ -4,6 +4,7 @@ import com.opencsv.exceptions.CsvRequiredFieldEmptyException;
 import fr.univlille.sae.classification.knn.distance.DistanceEuclidienne;
 import fr.univlille.sae.classification.knn.distance.DistanceEuclidienneNormalisee;
 import fr.univlille.sae.classification.model.ClassificationModel;
+import fr.univlille.sae.classification.model.Iris;
 import fr.univlille.sae.classification.model.LoadableData;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -46,15 +47,20 @@ public class MethodKNNTest {
 
         model.loadData(csvTemp);
         List<LoadableData> datas = model.getDatas();
-        LoadableData first = datas.get(0);
-        LoadableData second = datas.get(1);
+        LoadableData data = new Iris(3.5,2.6,1.0,0.5);
 
-        System.out.println(first);
-        System.out.println(second);
+        System.out.println(data);
+        MethodKNN.updateModel(datas);
+        List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, data, 1, new DistanceEuclidienne());
 
-        List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, first, 1, new DistanceEuclidienne());
+        assertEquals(1, kVoisins.size());
 
-        assertEquals(second, kVoisins.get(0));
+        LoadableData voisin = kVoisins.get(0);
+        System.out.println(voisin);
+        assertEquals(3.7, voisin.getAttributes()[0], 0.001);
+        assertEquals(2.7, voisin.getAttributes()[1], 0.001);
+        assertEquals(1.1, voisin.getAttributes()[2], 0.001);
+        assertEquals(0.4, voisin.getAttributes()[3], 0.001);
     }
 
 
@@ -64,15 +70,20 @@ public class MethodKNNTest {
 
         model.loadData(csvTemp);
         List<LoadableData> datas = model.getDatas();
-        LoadableData first = datas.get(0);
-        LoadableData second = datas.get(1);
+        LoadableData data = new Iris(3.5,2.6,1.0,0.5);
 
-        System.out.println(first);
-        System.out.println(second);
+        System.out.println(data);
+        MethodKNN.updateModel(datas);
+        List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, data, 1, new DistanceEuclidienneNormalisee());
 
-        List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, first, 1, new DistanceEuclidienneNormalisee());
+        assertEquals(1, kVoisins.size());
 
-        assertEquals(second, kVoisins.get(0));
+        LoadableData voisin = kVoisins.get(0);
+        System.out.println(voisin);
+        assertEquals(3.7, voisin.getAttributes()[0], 0.001);
+        assertEquals(2.7, voisin.getAttributes()[1], 0.001);
+        assertEquals(1.1, voisin.getAttributes()[2], 0.001);
+        assertEquals(0.4, voisin.getAttributes()[3], 0.001);
     }
 
 }
-- 
GitLab