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 946657490b368fe5667ceed11896e57a1f7bee91..cbeac973d125e7fde17fe27e2ff564ab5892e911 100644
--- a/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java
+++ b/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java
@@ -1,5 +1,6 @@
 package fr.univlille.sae.classification.knn;
 
+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;
@@ -41,7 +42,7 @@ public class MethodKNNTest {
 
 
     @Test
-    public void testKVoisins_distance_euclidienne() throws IOException {
+    public void testKVoisins_distance_euclidienne() throws IOException, CsvRequiredFieldEmptyException {
 
         model.loadData(csvTemp);
         List<LoadableData> datas = model.getDatas();
@@ -59,7 +60,7 @@ public class MethodKNNTest {
 
 
     @Test
-    public void testKVoisins_distance_euclidienne_normalise() throws IOException {
+    public void testKVoisins_distance_euclidienne_normalise() throws IOException, CsvRequiredFieldEmptyException {
 
         model.loadData(csvTemp);
         List<LoadableData> datas = model.getDatas();
diff --git a/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneNormaliseeTest.java b/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneNormaliseeTest.java
index 63314320f48ea293bd7ba74e072aaddbc486b9a9..03300794866df6cffc9fc406516e873a2698a7cd 100644
--- a/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneNormaliseeTest.java
+++ b/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneNormaliseeTest.java
@@ -8,6 +8,8 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import fr.univlille.sae.classification.model.LoadableData;
 
+import java.util.Map;
+
 public class DistanceEuclidienneNormaliseeTest {
 
     @BeforeAll
@@ -30,20 +32,10 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{2.0, 3.0, 6.0};
@@ -67,20 +59,9 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{8.0, 5.0, 8.0};
@@ -94,7 +75,7 @@ public class DistanceEuclidienneNormaliseeTest {
 
         DistanceEuclidienneNormalisee distance = new DistanceEuclidienneNormalisee();
         double result = distance.distance(data1, data2);
-        assertEquals(1.2093, result, 0.0001);
+        assertEquals(1.3432961119739923, result, 0.0001);
     }
 
     @Test
@@ -111,20 +92,10 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{2.0, 3.0, 6.0};
@@ -148,20 +119,10 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{8.0, 5.0, 8.0};
@@ -175,7 +136,7 @@ public class DistanceEuclidienneNormaliseeTest {
 
         DistanceEuclidienneNormalisee distance = new DistanceEuclidienneNormalisee();
         double result = distance.distance(data1, data2);
-        assertEquals(1.6093, result, 0.0001);
+        assertEquals(1.674647558277396, result, 0.0001);
     }
 
     @Test
@@ -192,20 +153,9 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{2.0, 3.0};
@@ -229,20 +179,9 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{8.0, 5.0, 8.0};
@@ -272,20 +211,9 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{2.0, 3.0, 6.0};
@@ -309,20 +237,10 @@ public class DistanceEuclidienneNormaliseeTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{8.0, 5.0, 8.0};
diff --git a/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneTest.java b/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneTest.java
index 808a444b9bfd4eb2f9c0fad86d6963555a4976c1..d54c002adf0fc32554ffa2d75cefc046b2994469 100644
--- a/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneTest.java
+++ b/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceEuclidienneTest.java
@@ -6,6 +6,8 @@ import javafx.scene.paint.Color;
 import org.junit.jupiter.api.Test;
 import fr.univlille.sae.classification.model.LoadableData;
 
+import java.util.Map;
+
 public class DistanceEuclidienneTest {
 
     @Test
@@ -22,20 +24,9 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0, 3.0};
@@ -59,20 +50,10 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{4.0, 6.0, 3.0};
@@ -104,20 +85,9 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0, 3.0};
@@ -137,24 +107,11 @@ public class DistanceEuclidienneTest {
 
             @Override
             public void setClassification(String classification) {
-
             }
-
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0, 3.0};
@@ -186,20 +143,9 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0};
@@ -223,20 +169,10 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0, 3.0};
@@ -269,20 +205,10 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0, 3.0};
@@ -306,20 +232,10 @@ public class DistanceEuclidienneTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0, 3.0};
diff --git a/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanTest.java b/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanTest.java
index ee21bd98dd5e4cd33f9cdca083a1acb020ff2fd0..a151973fa4f7440d87ee694eb6676184ba51e732 100644
--- a/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanTest.java
+++ b/src/test/java/fr/univlille/sae/classification/knn/distance/DistanceManhattanTest.java
@@ -6,6 +6,8 @@ import javafx.scene.paint.Color;
 import org.junit.jupiter.api.Test;
 import fr.univlille.sae.classification.model.LoadableData;
 
+import java.util.Map;
+
 public class DistanceManhattanTest {
 
     @Test
@@ -22,20 +24,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{2.0, 3.0, 6.0};
@@ -59,20 +51,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{5.0, 8.0, 3.0};
@@ -103,20 +85,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{0.0, 0.0, 0.0};
@@ -140,20 +112,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{0.0, 0.0, 0.0};
@@ -184,20 +146,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{-2.0, -3.0, -6.0};
@@ -221,20 +173,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{2.0, 3.0, 6.0};
@@ -265,20 +207,9 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
-
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{1.0, 2.0};
@@ -302,20 +233,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{3.0};
@@ -345,20 +266,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{};
@@ -382,20 +293,10 @@ public class DistanceManhattanTest {
             }
 
             @Override
-            public String[] getAttributesName() {
-                return new String[0];
-            }
-
-            @Override
-            public Color getColor() {
+            public Map<String, Object> getAttributesNames() {
                 return null;
             }
 
-            @Override
-            public double getDataType(String axes) {
-                return 0;
-            }
-
             @Override
             public double[] getAttributes() {
                 return new double[]{};
diff --git a/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java b/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java
index d3b5ab5a5667d95348db2a4c152a06126f7e44ca..1a8aa41daed57dd4db454b6991fa701a55ed1812 100644
--- a/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java
+++ b/src/test/java/fr/univlille/sae/classification/model/ClassificationModelTest.java
@@ -1,5 +1,6 @@
 package fr.univlille.sae.classification.model;
 
+import com.opencsv.exceptions.CsvRequiredFieldEmptyException;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -55,7 +56,7 @@ class ClassificationModelTest {
     }
 
     @Test
-    void testLoadData() throws IOException {
+    void testLoadData() throws IOException, CsvRequiredFieldEmptyException {
 
         model.loadData(csvTemp);
 
@@ -80,7 +81,7 @@ class ClassificationModelTest {
     }
 
     @Test
-    void testClassifierDonnees() {
+    void testClassifierDonnees() throws CsvRequiredFieldEmptyException {
         model.loadData(csvTemp);
 
         model.ajouterDonnee(5.1, 3.5, 1.4, 0.2);
diff --git a/src/test/java/fr/univlille/sae/classification/model/IrisTest.java b/src/test/java/fr/univlille/sae/classification/model/IrisTest.java
index 824be5f4bcf220de6165f03d342622ef2316bb37..5233956c0bdb311227d31ad57a92a8dbc3b235d8 100644
--- a/src/test/java/fr/univlille/sae/classification/model/IrisTest.java
+++ b/src/test/java/fr/univlille/sae/classification/model/IrisTest.java
@@ -32,10 +32,10 @@ class IrisTest {
 
     @Test
     void getDataType() {
-        assertEquals(3.0 , iris.getDataType("sepalWidth"));
-        assertEquals(2.8, iris.getDataType("sepalLength"));
-        assertEquals(4.1, iris.getDataType("petalWidth"));
-        assertEquals(1.9, iris.getDataType("petalLength"));
+        assertEquals(3.0 , iris.getSepalWidth());
+        assertEquals(2.8, iris.getSepalLength());
+        assertEquals(4.1, iris.getPetalWidth());
+        assertEquals(1.9, iris.getPetalLength());
     }
 
     @Test