From 4efb0d71ba8c3f0e5d6fe09cac987335e43bb028 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Wed, 1 Apr 2026 15:31:24 +0200 Subject: [PATCH 1/3] Fix InputFactory ignore null. --- src/ecoparasite/input/InputFactory.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ecoparasite/input/InputFactory.java b/src/ecoparasite/input/InputFactory.java index 413a866..b188261 100644 --- a/src/ecoparasite/input/InputFactory.java +++ b/src/ecoparasite/input/InputFactory.java @@ -2,11 +2,13 @@ package ecoparasite.input; import java.io.BufferedReader; import java.io.IOException; +import java.lang.reflect.Array; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; /** @@ -93,7 +95,7 @@ public class InputFactory { // Lecture des autres lignes. try { while ((line = reader.readLine()) != null) { - rowFields = line.split(separator); + rowFields = line.split(separator, -1); for (int i = 0; i < rowFields.length; i++) { ArrayList element = data.get(i); element.add(rowFields[i]); -- 2.39.5 From 038d4b3b88c26cbe29c442b5cb012424315d10e3 Mon Sep 17 00:00:00 2001 From: Lycano Date: Wed, 1 Apr 2026 16:20:41 +0200 Subject: [PATCH 2/3] JavaDoc et Completion Bullshit. --- data/{test.csv => testComplete.csv} | 0 data/testNettoie.csv | 112 ++++++++++++++++++ src/ecoparasite/completion/Completion.java | 20 ++-- src/ecoparasite/nettoyage/Nettoyage.java | 26 ++-- src/ecoparasite/poisson/Mackerel.java | 15 ++- .../completion/CompletionTest.java | 8 +- tests/ecoparasite/input/InputFactoryTest.java | 2 +- tests/ecoparasite/input/RawDataTest.java | 6 +- .../ecoparasite/nettoyage/NettoyageTest.java | 30 +++++ 9 files changed, 190 insertions(+), 29 deletions(-) rename data/{test.csv => testComplete.csv} (100%) create mode 100644 data/testNettoie.csv create mode 100644 tests/ecoparasite/nettoyage/NettoyageTest.java diff --git a/data/test.csv b/data/testComplete.csv similarity index 100% rename from data/test.csv rename to data/testComplete.csv diff --git a/data/testNettoie.csv b/data/testNettoie.csv new file mode 100644 index 0000000..d13126c --- /dev/null +++ b/data/testNettoie.csv @@ -0,0 +1,112 @@ +Sample_code;Station;Latitude;Longitude;Depth;d13C_raw;d13C_corr;d15N;C_N;StandardLength;TrophicLevel;Anisakis_abdominalcavity;Anisakis_Liver;Anisakis_gonads;Anisakis_stomach;NParasitesViscera;Anisakis_Muscle_Right;Anisakis_Muscle_Left;Aniskis_Muscle_total;NParasitesTotal +TRACTRA_S0575_A0439;S0575;48.8692264;-4.3976635;96.84;-20.09735065;-19.14374028;12.52361179;4.316778148;257;3.117572211;7;1;0;1;9;1;3;4;13 +TRACTRA_S0575_A0440;S0575;48.8692264;-4.3976635;96.84;-20.02738845;-19.42703789;12.25444555;3.959950061;252;3.038405671;263;5;0;21;289;12;11;23;312 +TRACTRA_S0575_A0441;S0575;48.8692264;-4.3976635;96.84;-19.82735569;-18.83090708;12.97020596;4.360049101;254;3.248923438;51;1;12;1;65;2;3;5;70 +TRACTRA_S0575_A0442;S0575;48.8692264;-4.3976635;96.84;-19.37802102;-18.26777864;13.43393806;4.4749923;242;3.385315231;158;6;0;1;165;9;19;28;193 +TRACTRA_S0575_A0443;S0575;48.8692264;-4.3976635;96.84;-18.20541518;-18.20541518;12.68793425;3.369189318;254;3.165902347;67;1;10;1;79;1;6;7;86 +TRACTRA_S0575_A0444;S0575;48.8692264;-4.3976635;96.84;-20.21559661;-18.91007641;12.62442312;4.672242625;251;3.147222601;140;1;0;0;141;3;6;9;150 +TRACTRA_S0575_A0445;S0575;48.8692264;-4.3976635;96.84;-19.43517323;-19.13886211;11.25439721;3.65283952;258;2.744273805;281;5;0;3;289;1;8;9;298 +TRACTRA_S0575_A0446;S0575;48.8692264;-4.3976635;96.84;-19.98304621;-19.35255493;11.69796704;3.990395229;250;2.87473552;113;2;6;5;126;2;9;11;137 +TRACTRA_S0575_A0447;S0575;48.8692264;-4.3976635;96.84;-19.4952816;-18.88631609;11.96007648;3.968652028;244;2.951826533;81;2;0;0;83;0;3;3;86 +TRACTRA_S0575_A0448;S0575;48.8692264;-4.3976635;96.84;-19.94560166;-19.34814395;11.90664648;3.957027986;244;2.936111826;182;0;1;4;187;10;20;30;217 +TRACTRA_S0577_A0454;S0577;49.2061879;-4.3343404;94.02;-19.0301808;-18.69065175;12.62744746;3.696493987;230;3.212854832;23;0;0;1;24;0;0;0;24 +TRACTRA_S0577_A0455;S0577;49.2061879;-4.3343404;94.02;-20.15942978;-19.22294902;12.21916159;4.299475509;247;3.092770753;53;0;0;1;54;4;6;10;64 +TRACTRA_S0577_A0456;S0577;49.2061879;-4.3343404;94.02;-21.11919287;-19.10756928;13.20207201;5.38547838;250;3.381862053;11;0;0;1;12;0;3;3;15 +TRACTRA_S0577_A0457;S0577;49.2061879;-4.3343404;94.02;-20.47770851;-19.25004326;11.60824496;4.593601258;264;2.913089392;72;7;0;3;82;3;7;10;92 +TRACTRA_S0577_A0458;S0577;49.2061879;-4.3343404;94.02;-18.80551346;-18.80551346;11.29371363;3.405172632;258;2.820580176;18;2;0;5;25;0;4;4;29 +TRACTRA_S0577_A0459;S0577;49.2061879;-4.3343404;94.02;-18.55424078;-18.55424078;11.99334422;3.368856741;268;3.02635388;3;0;2;0;5;0;1;1;6 +TRACTRA_S0577_A0460;S0577;49.2061879;-4.3343404;94.02;-20.65507746;-18.90565571;12.2504131;5.120628022;244;3.101962374;5;0;0;0;5;0;0;0;5 +TRACTRA_S0577_A0461;S0577;49.2061879;-4.3343404;94.02;-20.2747196;-19.30665873;13.06496861;4.331374612;236;3.341537523;18;0;0;0;18;1;1;2;20 +TRACTRA_S0577_A0462;S0577;49.2061879;-4.3343404;94.02;-20.4373078;-19.16897407;12.28972952;4.634680534;258;3.113526026;46;0;0;0;46;0;9;9;55 +TRACTRA_S0577_A0463;S0577;49.2061879;-4.3343404;94.02;-19.45685166;-19.11472538;12.60426085;3.699117451;251;3.206035242;106;0;0;3;109;6;19;25;134 +TRACTRA_S0754_A0805;S0754;49.6547785;-0.1474217;37.3;-17.83990445;-17.83990445;13.08890102;3.215085281;166;3.453596065;0;0;0;0;0;0;0;0;0 +TRACTRA_S0754_A0806;S0754;49.6547785;-0.1474217;37.3;-20.15486746;-18.67023918;12.91860136;4.853159877;166;3.403507929;1;0;0;0;1;0;0;0;1 +TRACTRA_S0754_A0807;S0754;49.6547785;-0.1474217;37.3;-18.26558775;-18.26558775;12.73923249;3.355335311;162;3.350752377;4;1;0;1;6;0;0;0;6 +TRACTRA_S0754_A0808;S0754;49.6547785;-0.1474217;37.3;-18.30726304;-18.09681562;13.04657803;3.566108505;169;3.441148126;0;0;0;0;0;0;0;0;0 +TRACTRA_S0754_A0809;S0754;49.6547785;-0.1474217;37.3;-17.48070316;-17.48070316;13.28439294;3.361704857;170;3.511093688;0;0;0;0;0;0;0;0;151 +TRACTRA_S0754_A0810;S0754;49.6547785;-0.1474217;37.3;-17.78334513;-17.78334513;13.07882412;3.489125859;176;3.45063227;0;0;0;0;0;0;0;0;0 +TRACTRA_S0754_A0811;S0754;49.6547785;-0.1474217;37.3;-18.28047178;-18.12027726;12.87224761;3.515348002;165;3.389874472;4;0;0;0;4;1;0;1;5 +TRACTRA_S0754_A0812;S0754;49.6547785;-0.1474217;37.3;-20.27989332;-18.492208;13.65522298;5.159278103;193;3.620161346;4;0;0;0;4;0;0;0;4 +TRACTRA_S0754_A0813;S0754;49.6547785;-0.1474217;37.3;-18.35389967;-18.35389967;12.72814789;3.262758686;165;3.347492203;1;0;0;0;1;0;0;0;1 +TRACTRA_S0754_A0814;S0754;49.6547785;-0.1474217;37.3;-18.87880984;-18.22558141;13.21587;4.013362047;166;3.490939882;1;0;0;2;3;0;0;0;3 +TRACTRA_S0613_A0725;S0613;49.6962144;-3.7446409;77.61;-20.02823743;-19.77660999;13.31184525;3.607704481;108;3.386206548;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0726;S0613;49.6962144;-3.7446409;77.61;-19.51899808;-19.51899808;13.58432266;3.286796067;109;3.466346962;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0727;S0613;49.6962144;-3.7446409;77.61;-20.25818465;-19.92813931;13.27363809;3.686914482;112;3.374969147;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0728;S0613;49.6962144;-3.7446409;77.61;-19.89105861;-19.61530935;13.69693325;3.632069961;110;3.499467723;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0729;S0613;49.6962144;-3.7446409;77.61;-20.56708371;-20.05444437;13.52500101;3.871352865;105;3.448899418;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0730;S0613;49.6962144;-3.7446409;77.61;-19.84072681;-19.65364002;13.56220272;3.542511911;102;3.459841098;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0731;S0613;49.6962144;-3.7446409;77.61;-19.40353102;-19.40353102;13.7894348;3.4531337;112;3.526674063;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0732;S0613;49.6962144;-3.7446409;77.61;-19.72032526;-19.72032526;13.78440755;3.440747909;108;3.525195458;0;0;0;1;1;0;0;0;1 +TRACTRA_S0613_A0733;S0613;49.6962144;-3.7446409;77.61;-20.51675191;-20.25700129;13.69190599;3.615909722;108;3.497989118;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0734;S0613;49.6962144;-3.7446409;77.61;-19.85158269;-19.85158269;13.74821128;3.427824163;105;3.514549498;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0735;S0613;49.6962144;-3.7446409;77.61;-19.52985396;-18.77319749;12.19277752;4.117834812;155;3.057068981;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0736;S0613;49.6962144;-3.7446409;77.61;-18.71566314;-18.30038536;12.72566692;3.773007861;151;3.213801156;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0737;S0613;49.6962144;-3.7446409;77.61;-18.55578567;-18.55578567;12.52055477;3.488579888;148;3.153474054;1;0;0;0;1;0;0;0;1 +TRACTRA_S0613_A0738;S0613;49.6962144;-3.7446409;77.61;-18.64559339;-18.23789283;12.46525493;3.765354093;159;3.137209395;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0739;S0613;49.6962144;-3.7446409;77.61;-18.41367237;-18.41367237;12.2078593;3.420834314;152;3.061504797;0;0;0;1;1;0;0;0;1 +TRACTRA_S0613_A0740;S0613;49.6962144;-3.7446409;77.61;-19.79532951;-18.68335824;12.39487331;4.476738651;152;3.116508919;2;0;0;0;2;0;0;0;2 +TRACTRA_S0613_A0741;S0613;49.6962144;-3.7446409;77.61;-19.33543506;-18.69166914;12.3576716;4.003803955;168;3.105567239;1;0;0;0;1;0;0;0;1 +TRACTRA_S0613_A0742;S0613;49.6962144;-3.7446409;77.61;-18.99002077;-18.43223945;12.39386786;3.916950835;155;3.116213198;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0743;S0613;49.6962144;-3.7446409;77.61;-18.75711286;-18.24630612;12.60501272;3.869501751;152;3.178314625;0;0;0;0;0;0;0;0;0 +TRACTRA_S0613_A0744;S0613;49.6962144;-3.7446409;77.61;-18.72454522;-18.36228847;12.90363187;3.719451262;154;3.266143788;0;0;0;1;1;0;0;0;1 +TRACTRA_S0639_A0745;S0639;49.8793196;-3.3251101;73.12;-18.6902161;-18.22204182;12.52076814;3.826438667;161;3.191653695;0;0;0;0;0;0;0;0;0 +TRACTRA_S0639_A0746;S0639;49.8793196;-3.3251101;73.12;-19.314296;-19.05048806;13.17690571;3.620008022;140;3.384635333;0;0;0;0;0;0;0;0;0 +TRACTRA_S0639_A0747;S0639;49.8793196;-3.3251101;73.12;-17.51895714;-17.51895714;12.92408206;3.193663511;151;3.310275436;1;0;0;0;1;0;0;0;1 +TRACTRA_S0639_A0748;S0639;49.8793196;-3.3251101;73.12;-18.54923123;-18.54923123;12.58497732;3.228276352;157;3.210538748;6;0;0;1;7;0;0;0;7 +TRACTRA_S0639_A0749;S0639;49.8793196;-3.3251101;73.12;-19.71753247;-18.8812651;12.99631739;4.198249861;152;3.33152112;0;0;0;0;0;0;0;0;0 +TRACTRA_S0639_A0750;S0639;49.8793196;-3.3251101;73.12;-17.97247492;-17.97247492;12.93612128;3.493877982;164;3.313816383;3;0;0;0;3;0;0;0;3 +TRACTRA_S0639_A0751;S0639;49.8793196;-3.3251101;73.12;-18.22683924;-18.22683924;13.03042851;3.308824647;156;3.341553805;0;1;0;0;1;0;0;0;1 +TRACTRA_S0639_A0752;S0639;49.8793196;-3.3251101;73.12;-18.65472341;-18.39365742;12.7986735;3.617238364;160;3.273390566;0;0;0;0;0;0;0;0;0 +TRACTRA_S0639_A0753;S0639;49.8793196;-3.3251101;73.12;-18.20120563;-18.00843545;13.09162789;3.548252699;147;3.359553621;1;0;0;0;1;0;0;0;1 +TRACTRA_S0639_A0754;S0639;49.8793196;-3.3251101;73.12;-18.62711798;-18.62711798;12.45154262;3.427913827;152;3.171293247;0;0;0;0;0;0;0;0;0 +TRACTRA_S0670_A0765;S0670;49.9406453;-2.5046981;66.38;-18.39954403;-18.16590933;13.53933859;3.589530001;219;3.44755523;45;1;0;4;50;0;4;4;54 +TRACTRA_S0670_A0766;S0670;49.9406453;-2.5046981;66.38;-22.61073263;-18.6255476;12.78760162;7.378974781;231;3.226456121;80;1;0;2;83;5;9;14;97 +TRACTRA_S0670_A0767;S0670;49.9406453;-2.5046981;66.38;-18.96116815;-18.96116815;12.2484873;3.306833193;288;3.067893087;64;0;0;0;64;8;18;26;90 +TRACTRA_S0670_A0768;S0670;49.9406453;-2.5046981;66.38;-19.73216097;-19.37320368;12.70497102;3.716118472;229;3.202153002;8;0;0;0;8;0;1;1;9 +TRACTRA_S0670_A0769;S0670;49.9406453;-2.5046981;66.38;-19.16557551;-19.16557551;12.74729401;3.415841427;239;3.214600941;81;3;36;0;120;6;9;15;135 +TRACTRA_S0670_A0770;S0670;49.9406453;-2.5046981;66.38;-18.85003405;-18.85003405;13.00526273;3.264809579;243;3.290474094;192;1;6;0;199;18;19;37;236 +TRACTRA_S0670_A0771;S0670;49.9406453;-2.5046981;66.38;-18.87285623;-18.87285623;11.61767317;3.362037589;241;2.882359518;28;2;17;3;50;1;2;3;53 +TRACTRA_S0670_A0772;S0670;49.9406453;-2.5046981;66.38;-20.42774137;-18.87583805;12.42181004;4.921114462;224;3.118870361;3;16;3;1;23;0;0;0;23 +TRACTRA_S0670_A0773;S0670;49.9406453;-2.5046981;66.38;-18.57716014;-18.24889867;14.27092176;3.685112599;230;3.662726749;19;1;5;2;27;0;0;0;27 +TRACTRA_S0670_A0774;S0670;49.9406453;-2.5046981;66.38;-18.91850059;-18.38588965;14.00892228;3.891526197;234;3.585668078;2;0;0;6;8;0;0;0;8 +TRACTRA_S0705_A0775;S0705;49.9998717;-0.7750398;59.36;-19.22709617;-19.0603341;12.51350986;3.521981887;251;3.145733742;98;8;0;0;106;11;3;14;120 +TRACTRA_S0705_A0776;S0705;49.9998717;-0.7750398;59.36;-20.77205862;-19.64910728;14.18929884;4.487829645;215;3.638612855;0;0;0;0;0;0;0;0;0 +TRACTRA_S0705_A0777;S0705;49.9998717;-0.7750398;59.36;-19.9693132;-18.92818389;13.0183627;4.405181126;215;3.294219873;5;0;0;1;6;0;0;0;6 +TRACTRA_S0705_A0778;S0705;49.9998717;-0.7750398;59.36;-18.89369387;-18.89369387;13.11711635;3.426883767;236;3.323265064;111;9;2;2;124;29;28;57;181 +TRACTRA_S0705_A0779;S0705;49.9998717;-0.7750398;59.36;-18.92842328;-18.22356212;13.5907308;4.065516322;229;3.462563431;44;2;1;1;48;2;12;14;62 +TRACTRA_S0705_A0780;S0705;49.9998717;-0.7750398;59.36;-18.87583303;-18.71659415;12.63241731;3.51438271;261;3.180706523;96;1;13;3;113;9;7;16;129 +TRACTRA_S0705_A0781;S0705;49.9998717;-0.7750398;59.36;-19.76589811;-18.66433058;15.14962771;4.466229823;207;3.921062522;0;1;0;1;2;0;0;0;2 +TRACTRA_S0705_A0782;S0705;49.9998717;-0.7750398;59.36;-18.77561389;-18.16356616;14.4432368;3.971765386;254;3.71330049;20;3;13;0;36;1;1;2;38 +TRACTRA_S0705_A0783;S0705;49.9998717;-0.7750398;59.36;-19.35112977;-18.1144013;14.06535293;4.602756025;228;3.602158177;32;0;0;0;32;4;7;11;43 +TRACTRA_S0705_A0784;S0705;49.9998717;-0.7750398;59.36;-18.20109028;-17.73148198;14.78585151;3.827887172;251;3.814069521;0;0;0;6;6;0;0;0;6 +TRACTRA_S0601_A0715;S0601;50.0395506;-4.3793424;74.88;-18.23504384;-18.23504384;12.2973445;3.424281959;155;3.161278164;4;0;0;0;4;0;0;0;4 +TRACTRA_S0601_A0716;S0601;50.0395506;-4.3793424;74.88;-18.88442269;-18.88442269;12.35666615;3.350603714;152;3.178725708;1;0;0;2;3;0;0;0;3 +TRACTRA_S0601_A0717;S0601;50.0395506;-4.3793424;74.88;-18.29820531;-18.06396027;12.98105165;3.590146502;154;3.362368502;0;0;0;1;1;0;0;0;1 +TRACTRA_S0601_A0718;S0601;50.0395506;-4.3793424;74.88;-19.62558306;-18.95671633;13.34603061;4.029158314;156;3.469715256;0;0;0;0;0;0;0;0;0 +TRACTRA_S0601_A0719;S0601;50.0395506;-4.3793424;74.88;-20.07659542;-18.94064042;12.474304;4.500964647;159;3.213325075;0;0;0;0;0;0;0;0;0 +TRACTRA_S0601_A0720;S0601;50.0395506;-4.3793424;74.88;-18.89823926;-18.55339871;13.00216613;3.701859148;150;3.368578645;3;0;0;2;5;0;0;0;5 +TRACTRA_S0601_A0721;S0601;50.0395506;-4.3793424;74.88;-17.76626731;-17.76626731;12.53262019;3.313925804;145;3.230476898;0;0;0;0;0;0;0;0;0 +TRACTRA_S0601_A0722;S0601;50.0395506;-4.3793424;74.88;-18.21530588;-18.21530588;12.60300181;3.423564038;152;3.251177374;0;0;0;0;0;0;0;0;0 +TRACTRA_S0601_A0723;S0601;50.0395506;-4.3793424;74.88;-18.81533984;-18.22521349;12.76487953;3.949622567;160;3.298788469;0;0;0;1;1;0;0;0;1 +TRACTRA_S0601_A0724;S0601;50.0395506;-4.3793424;74.88;-18.39196061;-18.19326953;12.75482502;3.554233413;147;3.295831258;1;0;0;0;1;0;0;0;1 +TRACTRA_S0718_A0453;S0718;50.0998065;-1.1453948;55.61;-18.66460368;-18.66460368;12.90165426;3.445225076;231;3.267606025;36;1;0;0;37;2;9;11;48 +TRACTRA_S0718_A0785;S0718;50.0998065;-1.1453948;55.61;-18.85995673;-18.50810575;13.29144678;3.70894039;206;3.382250883;1;0;0;0;1;0;0;0;1 +TRACTRA_S0718_A0786;S0718;50.0998065;-1.1453948;55.61;-19.93855287;-18.51682147;12.26561804;4.789627677;213;3.080536549;13;0;0;0;13;4;4;8;21 +TRACTRA_S0718_A0787;S0718;50.0998065;-1.1453948;55.61;-19.29556272;-18.58424925;13.6320461;4.072033803;217;3.482427155;1;0;0;0;1;0;0;0;1 +TRACTRA_S0718_A0788;S0718;50.0998065;-1.1453948;55.61;-18.65654164;-17.87326585;13.75296894;4.144723017;215;3.517992695;0;0;0;0;0;0;0;0;0 +TRACTRA_S0718_A0789;S0718;50.0998065;-1.1453948;55.61;-18.65654164;-17.87326585;13.75296894;4.144723017;212;3.517992695;0;0;0;0;0;0;0;0;0 +TRACTRA_S0718_A0790;S0718;50.0998065;-1.1453948;55.61;-20.30767685;-18.92634633;14.50772898;4.748818703;216;3.739980943;0;0;0;0;0;0;0;0;0 +TRACTRA_S0718_A0791;S0718;50.0998065;-1.1453948;55.61;-19.14771467;-18.81564248;13.41640037;3.688961812;206;3.419001941;5;0;0;0;5;0;0;0;5 +TRACTRA_S0718_A0792;S0718;50.0998065;-1.1453948;55.61;-19.39677413;-18.69591383;13.03448575;4.061475047;205;3.306674109;9;0;0;1;10;0;0;0;10 +TRACTRA_S0718_A0793;S0718;50.0998065;-1.1453948;55.61;-21.2999456;-18.95534509;13.954507;5.721818697;206;3.577268596;3;0;0;0;3;0;1;1;4 +TRACTRA_S0718_A0794;S0718;50.0998065;-1.1453948;55.61;-20.11815351;-19.18867431;13.2057931;4.29240324;206;3.357058625;2;1;0;0;3;0;0;0;3 +TRACTRA_S0648_A0755;S0648;50.1032755;-2.8780274;65.63;-18.14599476;-17.96730786;12.90100688;3.534027181;150;3.272095952;1;0;0;0;1;0;0;0;1 +TRACTRA_S0648_A0756;S0648;50.1032755;-2.8780274;65.63;-19.88316505;-18.41350538;12.80469311;4.838040066;153;3.243768372;0;0;0;0;0;0;0;0;0 +TRACTRA_S0648_A0757;S0648;50.1032755;-2.8780274;65.63;-17.38980316;-17.38980316;13.74375238;3.233544264;144;3.519962276;0;0;0;0;0;0;1;1;1 +TRACTRA_S0648_A0758;S0648;50.1032755;-2.8780274;65.63;-18.19627608;-18.19627608;12.25189219;3.175007351;149;3.081179867;0;0;1;0;1;0;0;0;1 +TRACTRA_S0648_A0759;S0648;50.1032755;-2.8780274;65.63;-20.22330338;-18.62749624;12.36124845;4.965461761;156;3.113343473;0;0;0;1;1;0;0;0;1 +TRACTRA_S0648_A0760;S0648;50.1032755;-2.8780274;65.63;-18.55830703;-18.20627505;12.64148653;3.709123215;148;3.195766435;0;0;0;0;0;0;0;0;0 +TRACTRA_S0648_A0761;S0648;50.1032755;-2.8780274;65.63;-18.58509829;-18.15123475;12.93673979;3.791781348;158;3.282605629;0;0;0;0;0;0;0;0;0 +TRACTRA_S0648_A0762;S0648;50.1032755;-2.8780274;65.63;-19.22411937;-18.51036414;13.00526273;4.074500229;156;3.302759436;0;0;0;0;0;0;0;0;0 +TRACTRA_S0648_A0763;S0648;50.1032755;-2.8780274;65.63;-20.13006074;-17.89104792;12.99518582;5.615164463;152;3.299795641;0;0;0;0;0;0;0;0;50000 +TRACTRA_S0648_A0764;S0648;50.1032755;-2.8780274;65.63;-17.69007187;-17.69007187;12.89139372;3.154829903;144;3.269268552;21;0;0;0;21;0;0;0;21 diff --git a/src/ecoparasite/completion/Completion.java b/src/ecoparasite/completion/Completion.java index b611342..d6d4113 100644 --- a/src/ecoparasite/completion/Completion.java +++ b/src/ecoparasite/completion/Completion.java @@ -4,15 +4,19 @@ import ecoparasite.poisson.Poisson; import java.util.HashSet; + +/** + * Class incluant des méthodes Statiques de Completion des données + */ public class Completion { - public static HashSet completePoisson(HashSet tablePoisson){ - double mean = mean(tablePoisson); + public static HashSet completePoissonMean(HashSet tablePoisson){ + + Double mean = mean(tablePoisson); for (Poisson p : tablePoisson) { - - if ( p.getInfestation().isNaN() ) { + if ( p.getInfestation() == null ) { p.setInfestation(mean); } } @@ -20,12 +24,14 @@ public class Completion { return tablePoisson; } - private static double mean(HashSet tablePoisson){ + private static Double mean(HashSet tablePoisson){ - double mean = 0.0; + Double mean = 0.0; for (Poisson p : tablePoisson){ - mean += p.getInfestation(); + if (p.getInfestation() != null) { + mean += p.getInfestation(); + } } return mean / tablePoisson.size(); diff --git a/src/ecoparasite/nettoyage/Nettoyage.java b/src/ecoparasite/nettoyage/Nettoyage.java index 9bf2da4..d7de2e8 100644 --- a/src/ecoparasite/nettoyage/Nettoyage.java +++ b/src/ecoparasite/nettoyage/Nettoyage.java @@ -7,21 +7,21 @@ import java.util.HashSet; public class Nettoyage { /** - * + * * @param tablePoisson * @return */ - public static HashSet nettoiePoisson(HashSet tablePoisson){ + public static HashSet nettoiePoissonMean(HashSet tablePoisson){ - double mean = mean(tablePoisson); //Moyenne - double ecart = ecartType(tablePoisson); // Ecart Type + Double mean = mean(tablePoisson); //Moyenne + Double ecart = ecartType(tablePoisson); // Ecart Type - double z = 0; + Double z = 0.0; for (Poisson p : tablePoisson) { z = ( p.getInfestation() - mean ) / ecart; - if ( z >= 3 ) { + if ( z >= 2.5 ) { p.setInfestation(mean); } } @@ -29,9 +29,9 @@ public class Nettoyage { return tablePoisson; } - private static double mean(HashSet tablePoisson){ + private static Double mean(HashSet tablePoisson){ - double mean = 0.0; + Double mean = 0.0; for (Poisson p : tablePoisson){ mean += p.getInfestation(); @@ -40,10 +40,10 @@ public class Nettoyage { return mean / tablePoisson.size(); } - private static double variance(HashSet tablePoisson){ + private static Double variance(HashSet tablePoisson){ - double vari = 0.0; - double mean = mean(tablePoisson); + Double vari = 0.0; + Double mean = mean(tablePoisson); for (Poisson p : tablePoisson) { vari += Math.pow( (p.getInfestation() - mean), 2); @@ -52,9 +52,9 @@ public class Nettoyage { return vari / tablePoisson.size(); } - private static double ecartType(HashSet tablePoisson){ + private static Double ecartType(HashSet tablePoisson){ - double vari = variance(tablePoisson); + Double vari = variance(tablePoisson); return Math.sqrt(vari); } diff --git a/src/ecoparasite/poisson/Mackerel.java b/src/ecoparasite/poisson/Mackerel.java index b5acdab..39b9dbe 100644 --- a/src/ecoparasite/poisson/Mackerel.java +++ b/src/ecoparasite/poisson/Mackerel.java @@ -7,6 +7,7 @@ import ecoparasite.input.RawDataOverflow; import java.util.HashMap; import java.util.HashSet; +import java.util.Objects; import static java.lang.Double.valueOf; @@ -54,7 +55,12 @@ public class Mackerel extends Poisson implements DataParsing { for (int i = 0; i < data.getData().getFirst().size(); i++) { temp = data.getEntry(i); - Poisson newP = new Mackerel(temp.get("Sample_code"),valueOf(temp.get("StandardLength")),valueOf(temp.get("NParasitesViscera"))); + + String id = !Objects.equals(temp.get("Sample_code"), "") ? temp.get("Sample_code") : null; + Double size = !Objects.equals(temp.get("StandardLength"), "") ? valueOf(temp.get("StandardLength")) : null; + Double infes = !Objects.equals(temp.get("NParasitesTotal"), "") ? valueOf(temp.get("NParasitesTotal")) : null; + + Poisson newP = new Mackerel(id,size,infes); newP.setFishParts( Mackerel.parsePartiePoisson(temp) ); fishSet.add(newP); } @@ -63,6 +69,11 @@ public class Mackerel extends Poisson implements DataParsing { return fishSet; } + /** + * + * @param entry + * @return + */ private static HashSet parsePartiePoisson(HashMap entry){ HashSet response = new HashSet<>(); @@ -70,7 +81,7 @@ public class Mackerel extends Poisson implements DataParsing { for( String k: entry.keySet() ){ if( k.contains( "Anisakis_" ) ){ String bodyPart = k.split( "Anisakis_" )[1]; - Double value = valueOf(entry.get(k)); + Double value = !Objects.equals(entry.get(k), "") ? valueOf(entry.get(k)) : null; PartiePoisson p = new PartiePoisson(bodyPart, value); response.add(p); } diff --git a/tests/ecoparasite/completion/CompletionTest.java b/tests/ecoparasite/completion/CompletionTest.java index ecc5a7c..13ec1da 100644 --- a/tests/ecoparasite/completion/CompletionTest.java +++ b/tests/ecoparasite/completion/CompletionTest.java @@ -15,13 +15,15 @@ import static org.junit.jupiter.api.Assertions.*; class CompletionTest { @org.junit.jupiter.api.Test - void completePoisson() throws InputFileException, RawDataOverflow { + void completePoissonMean() throws InputFileException, RawDataOverflow { - RawData test = InputFactory.readData("test.csv"); + RawData test = InputFactory.readData("testComplete.csv"); HashSet testp = Mackerel.parse(test); - testp = Completion.completePoisson(testp); + System.out.println(testp); + + testp = Completion.completePoissonMean(testp); System.out.println(testp); } diff --git a/tests/ecoparasite/input/InputFactoryTest.java b/tests/ecoparasite/input/InputFactoryTest.java index 070d267..87dd2d6 100644 --- a/tests/ecoparasite/input/InputFactoryTest.java +++ b/tests/ecoparasite/input/InputFactoryTest.java @@ -23,7 +23,7 @@ class InputFactoryTest { @org.junit.jupiter.api.Test void readData() throws InputFileException { - RawData test = InputFactory.readData("test.csv"); + RawData test = InputFactory.readData("testComplete.csv"); System.out.println(test.getData()); diff --git a/tests/ecoparasite/input/RawDataTest.java b/tests/ecoparasite/input/RawDataTest.java index 0181560..0df8c34 100644 --- a/tests/ecoparasite/input/RawDataTest.java +++ b/tests/ecoparasite/input/RawDataTest.java @@ -11,7 +11,7 @@ class RawDataTest { @Test void getColumnsNames() throws InputFileException { - RawData test = InputFactory.readData("test.csv"); + RawData test = InputFactory.readData("testComplete.csv"); HashSet d = new HashSet<>(); @@ -27,7 +27,7 @@ class RawDataTest { @Test void getDataFromColumn() throws InputFileException { - RawData test = InputFactory.readData("test.csv"); + RawData test = InputFactory.readData("testComplete.csv"); System.out.println(test.getDataFromColumn("Sample_code")); @@ -35,7 +35,7 @@ class RawDataTest { @Test void getEntry() throws InputFileException, RawDataOverflow { - RawData test = InputFactory.readData("test.csv"); + RawData test = InputFactory.readData("testComplete.csv"); System.out.println(test.getEntry(2)); } diff --git a/tests/ecoparasite/nettoyage/NettoyageTest.java b/tests/ecoparasite/nettoyage/NettoyageTest.java new file mode 100644 index 0000000..faa7515 --- /dev/null +++ b/tests/ecoparasite/nettoyage/NettoyageTest.java @@ -0,0 +1,30 @@ +package ecoparasite.nettoyage; + +import ecoparasite.completion.Completion; +import ecoparasite.input.InputFactory; +import ecoparasite.input.InputFileException; +import ecoparasite.input.RawData; +import ecoparasite.input.RawDataOverflow; +import ecoparasite.poisson.Mackerel; +import ecoparasite.poisson.Poisson; +import org.junit.jupiter.api.Test; + +import java.util.HashSet; + +class NettoyageTest { + + @org.junit.jupiter.api.Test + void nettoiePoissonMean() throws InputFileException, RawDataOverflow { + + RawData test = InputFactory.readData("testNettoie.csv"); + + HashSet testp = Mackerel.parse(test); + + System.out.println(testp); + + testp = Nettoyage.nettoiePoissonMean(testp); + + System.out.println(testp); + } + +} \ No newline at end of file -- 2.39.5 From fda799a8a4e28c97ecd812d8ae623c94f81f2dc7 Mon Sep 17 00:00:00 2001 From: Lycano Date: Wed, 1 Apr 2026 16:24:42 +0200 Subject: [PATCH 3/3] JavaDoc --- src/ecoparasite/nettoyage/Nettoyage.java | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/ecoparasite/nettoyage/Nettoyage.java b/src/ecoparasite/nettoyage/Nettoyage.java index d7de2e8..d922b71 100644 --- a/src/ecoparasite/nettoyage/Nettoyage.java +++ b/src/ecoparasite/nettoyage/Nettoyage.java @@ -4,12 +4,15 @@ import ecoparasite.poisson.Poisson; import java.util.HashSet; +/** + * Class Définissant les méthodes statics de Nettoyage des données + */ public class Nettoyage { /** - * - * @param tablePoisson - * @return + * Methode Static de nettoyage des valeurs abérrante et absurde + * @param tablePoisson Un Hashset de Poisson contenant nos données + * @return Le Hashset de Poisson une fois qu'il est nettoyé */ public static HashSet nettoiePoissonMean(HashSet tablePoisson){ @@ -29,6 +32,11 @@ public class Nettoyage { return tablePoisson; } + /** + * Methode Privée permettant de calculer la moyenne + * @param tablePoisson Un Hashset de Poisson contenant nos données + * @return Un Double correspondant à la moyenne + */ private static Double mean(HashSet tablePoisson){ Double mean = 0.0; @@ -40,6 +48,11 @@ public class Nettoyage { return mean / tablePoisson.size(); } + /** + * Methode Privée permettant de calculer la variance + * @param tablePoisson Un Hashset de Poisson contenant nos données + * @return Un Double correspondant à la variance + */ private static Double variance(HashSet tablePoisson){ Double vari = 0.0; @@ -52,6 +65,11 @@ public class Nettoyage { return vari / tablePoisson.size(); } + /** + * Methode Privée permettant de calculer l'écart-type + * @param tablePoisson Un Hashset de Poisson contenant nos données + * @return Un Double correspondant à l'écart-type + */ private static Double ecartType(HashSet tablePoisson){ Double vari = variance(tablePoisson); -- 2.39.5