From b4cb015e8e1b784f001665f2b429041babce0c0d Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Fri, 12 Feb 2021 18:56:50 +0100 Subject: [PATCH 01/11] =?UTF-8?q?=F0=9F=94=A7=20Ajout=20plugin=20PiTest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pom.xml b/pom.xml index a5899e2..2e21ff0 100644 --- a/pom.xml +++ b/pom.xml @@ -235,6 +235,29 @@ + + org.pitest + pitest-maven + 1.6.2 + + + org.pitest + pitest-junit5-plugin + 0.12 + + + io.github.wmaarts + pitest-mutation-testing-elements-plugin + 0.3.1 + + + + + HTML2 + + + + From a0711f691d62e81ba5b5c3df2ea5acc8fd3773c0 Mon Sep 17 00:00:00 2001 From: Mathieu Soysal <43273304+MathieuSoysal@users.noreply.github.com> Date: Tue, 16 Feb 2021 11:39:09 +0100 Subject: [PATCH 02/11] =?UTF-8?q?=F0=9F=9B=91=20Ajout=20test=20non-valid?= =?UTF-8?q?=C3=A9=20Professeur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/fr/umontp/edt/ProfesseurTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/fr/umontp/edt/ProfesseurTest.java b/src/test/java/fr/umontp/edt/ProfesseurTest.java index dfb4aed..def09c2 100644 --- a/src/test/java/fr/umontp/edt/ProfesseurTest.java +++ b/src/test/java/fr/umontp/edt/ProfesseurTest.java @@ -20,4 +20,11 @@ void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifference assertEquals(professeur1, professeur2); } + @Test + void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifferenceCaractereSpeciaux() { + Professeur professeur1 = new Professeur("prés-dupuis Jean"); + Professeur professeur2 = new Professeur("pres-dupuis Jean"); + assertEquals(professeur1, professeur2); + } + } From 050fc083b7ee26d84f59d85def7d228c1234696b Mon Sep 17 00:00:00 2001 From: Mathieu Soysal <43273304+MathieuSoysal@users.noreply.github.com> Date: Tue, 16 Feb 2021 12:15:02 +0100 Subject: [PATCH 03/11] =?UTF-8?q?=F0=9F=94=A8=20Validation=20test=20Profes?= =?UTF-8?q?seur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/umontp/edt/Professeur.java | 25 ++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/umontp/edt/Professeur.java b/src/main/java/fr/umontp/edt/Professeur.java index 0861166..51751c4 100644 --- a/src/main/java/fr/umontp/edt/Professeur.java +++ b/src/main/java/fr/umontp/edt/Professeur.java @@ -1,6 +1,8 @@ package fr.umontp.edt; +import java.text.Normalizer; import java.util.Locale; +import java.util.regex.Pattern; /** * Professeur est la classe représentant un professeur au sein de l'emploi du @@ -19,7 +21,7 @@ * @see RepertoireProfesseur * * @author MathieuSoysal - * @version 1.0.0 + * @version 1.0.1 */ public class Professeur { private String denomination; @@ -39,12 +41,29 @@ public class Professeur { denomination = formater(nom, prenom); } + /** + * @param nomPrenom + * + * @return la variable {@code nomPrenom} formaté. + * + * @see String#toUpperCase(Locale) + * @see Professeur#supprimerAccent(String) + * + * @since 1.0.1 + */ + static String formater(String nomPrenom) { + nomPrenom = supprimerAccent(nomPrenom); + return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", " "); + } + static String formater(String nom, String prenom) { return formater(nom + " " + prenom); } - static String formater(String nomPrenom) { - return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", " "); + private static String supprimerAccent(String str) { + String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); + Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); + return pattern.matcher(nfdNormalizedString).replaceAll(""); } /** From f61b1df2dec8c95d8a8d9cb31dbe4c4bf7e8f4ea Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Tue, 16 Feb 2021 19:33:03 +0100 Subject: [PATCH 04/11] =?UTF-8?q?=E2=99=BB=20Refactorisation=20Professeur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/umontp/edt/Professeur.java | 32 +-------- .../fr/umontp/edt/RepertoireProfesseur.java | 6 +- .../umontp/edt/outils/OutilsProfesseur.java | 72 +++++++++++++++++++ .../edt/outils/OutilsProfesseurTest.java | 64 +++++++++++++++++ 4 files changed, 143 insertions(+), 31 deletions(-) create mode 100644 src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java create mode 100644 src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java diff --git a/src/main/java/fr/umontp/edt/Professeur.java b/src/main/java/fr/umontp/edt/Professeur.java index 51751c4..26abd35 100644 --- a/src/main/java/fr/umontp/edt/Professeur.java +++ b/src/main/java/fr/umontp/edt/Professeur.java @@ -1,8 +1,6 @@ package fr.umontp.edt; -import java.text.Normalizer; -import java.util.Locale; -import java.util.regex.Pattern; +import fr.umontp.edt.outils.OutilsProfesseur; /** * Professeur est la classe représentant un professeur au sein de l'emploi du @@ -19,6 +17,7 @@ *

* * @see RepertoireProfesseur + * @see OutilsProfesseur * * @author MathieuSoysal * @version 1.0.1 @@ -38,32 +37,7 @@ public class Professeur { String[] infosProf = nomPrenom.split(" "); nom = infosProf[0]; prenom = infosProf[1]; - denomination = formater(nom, prenom); - } - - /** - * @param nomPrenom - * - * @return la variable {@code nomPrenom} formaté. - * - * @see String#toUpperCase(Locale) - * @see Professeur#supprimerAccent(String) - * - * @since 1.0.1 - */ - static String formater(String nomPrenom) { - nomPrenom = supprimerAccent(nomPrenom); - return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", " "); - } - - static String formater(String nom, String prenom) { - return formater(nom + " " + prenom); - } - - private static String supprimerAccent(String str) { - String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); - Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); - return pattern.matcher(nfdNormalizedString).replaceAll(""); + denomination = OutilsProfesseur.formater(nom, prenom); } /** diff --git a/src/main/java/fr/umontp/edt/RepertoireProfesseur.java b/src/main/java/fr/umontp/edt/RepertoireProfesseur.java index c8f9116..93fe3e6 100644 --- a/src/main/java/fr/umontp/edt/RepertoireProfesseur.java +++ b/src/main/java/fr/umontp/edt/RepertoireProfesseur.java @@ -6,6 +6,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import fr.umontp.edt.outils.OutilsProfesseur; + /** * RepertoireProfesseur est la classe qui repertorie tous les professeurs de * l'emploi du temps. @@ -43,7 +45,7 @@ static Professeur[] getProfesseurDepuisDescriptionEtAjouterSiNonPresent(String d Matcher m = Pattern.compile(regex).matcher(description); final List matches = new ArrayList<>(); while (m.find()) { - String nomPrenomProf = Professeur.formater(m.group(0)); + String nomPrenomProf = OutilsProfesseur.formater(m.group(0)); matches.add(repertoire.computeIfAbsent(nomPrenomProf, k -> new Professeur(nomPrenomProf))); } return matches.toArray(new Professeur[matches.size()]); @@ -61,7 +63,7 @@ static Professeur[] getProfesseurDepuisDescriptionEtAjouterSiNonPresent(String d * @see java.util.HashMap#get(java.lang.Object) */ public static Professeur get(String nom, String prenom) { - return repertoire.get(Professeur.formater(nom, prenom)); + return repertoire.get(OutilsProfesseur.formater(nom, prenom)); } } diff --git a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java new file mode 100644 index 0000000..29378f3 --- /dev/null +++ b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java @@ -0,0 +1,72 @@ +package fr.umontp.edt.outils; + +import java.text.Normalizer; +import java.util.Locale; +import java.util.regex.Pattern; + +import fr.umontp.edt.Professeur; + +/** + * ProfesseurOutils est la classe utilitaire pour le fonctionnement interne + * de la class {@link Professeur}. + * + * @see Professeur + * + * @author MathieuSoysal + * @version 1.0.0 + */ +public class OutilsProfesseur { + private OutilsProfesseur() { + throw new IllegalStateException("Class utilitaire"); + } + + /** + * @param str {@code String} auquel l'on doit enlever l'accentuation + * + * @return {@code String} sans accentuation. + * + * @see Normalizer + * + * @since 1.0.0 + */ + public static String supprimerAccentuation(String str) { + String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); + Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); + return pattern.matcher(nfdNormalizedString).replaceAll(""); + } + + /** + * Concatène les deux variables {@code nom} et {@code prenom}, et renvoie une + * variable formaté pour la class {@link Professeur}. + * + * @param nom + * @param prenom + * + * @return {@code String} formaté pour la class {@link Professeur}. + * + * @see String#toUpperCase(Locale) + * @see supprimerAccent + * + * @since 1.0.0 + */ + public static String formater(String nom, String prenom) { + return OutilsProfesseur.formater(nom + " " + prenom); + } + + /** + * @param nomPrenom + * + * @return la variable {@code nomPrenom} formaté pour la class + * {@link Professeur}. + * + * @see String#toUpperCase(Locale) + * @see supprimerAccent + * + * @since 1.0.0 + */ + public static String formater(String nomPrenom) { + nomPrenom = supprimerAccentuation(nomPrenom); + return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", " "); + } + +} diff --git a/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java b/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java new file mode 100644 index 0000000..269b900 --- /dev/null +++ b/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java @@ -0,0 +1,64 @@ +package fr.umontp.edt.outils; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.stream.Stream; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +class OutilsProfesseurTest { + + @ParameterizedTest(name = "la chaine de caractères {0} une fois son accentuation supprimé doit être égale à {1}") + @MethodSource("genererArgumentsPourtest_supprimerAccentuation") + void test_supprimerAccentuation(String input, String excepted) { + assertEquals(excepted, OutilsProfesseur.supprimerAccentuation(input)); + } + + private static Stream genererArgumentsPourtest_supprimerAccentuation() { + return Stream.of(// + Arguments.of("É", "E"), // + Arguments.of("1234567890", "1234567890"), // + Arguments.of("ô", "o"), // + Arguments.of("à", "a"), // + Arguments.of("è", "e"), // + Arguments.of("ç", "c"), // + Arguments.of("'", "'"), // + Arguments.of("-", "-"), // + Arguments.of(" ", " "), // + Arguments.of("é", "e")); + } + + @ParameterizedTest(name = "la chaine de caractères {0} une fois formaté doit être égale à {1}") + @MethodSource("genererArgumentsPourtest_formater_1parametre") + void test_formater_1parametre(String input, String excepted) { + assertEquals(excepted, OutilsProfesseur.formater(input)); + } + + private static Stream genererArgumentsPourtest_formater_1parametre() { + return Stream.of(// + Arguments.of("", ""), // + Arguments.of("test", "TEST"), // + Arguments.of("TeEsT", "TEEST"), // + Arguments.of("Téèçà", "TEECA"), // + Arguments.of("ÉÈÇÀ", "EECA"), // + Arguments.of("test t@°0245est", "TEST T EST")); + } + + @ParameterizedTest(name = "la chiane de caractères {0} une fois formaté doit être égale à {1}") + @MethodSource("genererArgumentsPourtest_formater_2parametres") + void test_formater_2parametres(String input1, String input2, String excepted) { + assertEquals(excepted, OutilsProfesseur.formater(input1, input2)); + } + + private static Stream genererArgumentsPourtest_formater_2parametres() { + return Stream.of(// + Arguments.of("", "", " "), // + Arguments.of("test", "TEST", "TEST TEST"), // + Arguments.of("TeEsT", "TeEsT", "TEEST TEEST"), // + Arguments.of("Téèçà", "Téèçà", "TEECA TEECA"), // + Arguments.of("ÉÈÇÀ", "ÉÈÇÀ", "EECA EECA"), // + Arguments.of("te93~('st", "t@°0245est", "TE ST T EST")); + } +} From f3ad903e4a290927fa381d5c22c064ff1c03a3a1 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Tue, 16 Feb 2021 23:27:39 +0100 Subject: [PATCH 05/11] =?UTF-8?q?=F0=9F=9B=91=20Ajout=20test=20non-valid?= =?UTF-8?q?=C3=A9=20Professeur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/fr/umontp/edt/ProfesseurTest.java | 7 +++++++ .../java/fr/umontp/edt/outils/OutilsProfesseurTest.java | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/test/java/fr/umontp/edt/ProfesseurTest.java b/src/test/java/fr/umontp/edt/ProfesseurTest.java index def09c2..9c6d816 100644 --- a/src/test/java/fr/umontp/edt/ProfesseurTest.java +++ b/src/test/java/fr/umontp/edt/ProfesseurTest.java @@ -27,4 +27,11 @@ void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifference assertEquals(professeur1, professeur2); } + @Test + void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifferenceEntreEspaceEtCaractereSpeciaux() { + Professeur professeur1 = new Professeur("D'Ôrge Jean"); + Professeur professeur2 = new Professeur("DÔrge Jean"); + assertEquals(professeur1, professeur2); + } + } diff --git a/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java b/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java index 269b900..34ebc38 100644 --- a/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java +++ b/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java @@ -43,10 +43,10 @@ private static Stream genererArgumentsPourtest_formater_1parametre() Arguments.of("TeEsT", "TEEST"), // Arguments.of("Téèçà", "TEECA"), // Arguments.of("ÉÈÇÀ", "EECA"), // - Arguments.of("test t@°0245est", "TEST T EST")); + Arguments.of("test t@°0245est", "TEST TEST")); } - @ParameterizedTest(name = "la chiane de caractères {0} une fois formaté doit être égale à {1}") + @ParameterizedTest(name = "la chaine de caractères {0} une fois formaté doit être égale à {1}") @MethodSource("genererArgumentsPourtest_formater_2parametres") void test_formater_2parametres(String input1, String input2, String excepted) { assertEquals(excepted, OutilsProfesseur.formater(input1, input2)); @@ -59,6 +59,6 @@ private static Stream genererArgumentsPourtest_formater_2parametres() Arguments.of("TeEsT", "TeEsT", "TEEST TEEST"), // Arguments.of("Téèçà", "Téèçà", "TEECA TEECA"), // Arguments.of("ÉÈÇÀ", "ÉÈÇÀ", "EECA EECA"), // - Arguments.of("te93~('st", "t@°0245est", "TE ST T EST")); + Arguments.of("te93~('st", "t@°0245est", "TEST TEST")); } } From 11f0a321e5e5243f4555ccb20028c8f6bd09313f Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Tue, 16 Feb 2021 23:31:41 +0100 Subject: [PATCH 06/11] =?UTF-8?q?=F0=9F=94=A8=20Validation=20test=20Profes?= =?UTF-8?q?seur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java index 29378f3..fb24761 100644 --- a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java +++ b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java @@ -66,7 +66,7 @@ public static String formater(String nom, String prenom) { */ public static String formater(String nomPrenom) { nomPrenom = supprimerAccentuation(nomPrenom); - return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", " "); + return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", ""); } } From 28cef3014d34eaa0f2aa443e3ba4f1a7d022df7c Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Tue, 16 Feb 2021 23:37:46 +0100 Subject: [PATCH 07/11] =?UTF-8?q?=F0=9F=9B=91Ajout=20test=20non-valid?= =?UTF-8?q?=C3=A9=20Professeur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/fr/umontp/edt/ProfesseurTest.java | 9 ++++++++- .../java/fr/umontp/edt/outils/OutilsProfesseurTest.java | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/test/java/fr/umontp/edt/ProfesseurTest.java b/src/test/java/fr/umontp/edt/ProfesseurTest.java index 9c6d816..bc3378b 100644 --- a/src/test/java/fr/umontp/edt/ProfesseurTest.java +++ b/src/test/java/fr/umontp/edt/ProfesseurTest.java @@ -28,10 +28,17 @@ void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifference } @Test - void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifferenceEntreEspaceEtCaractereSpeciaux() { + void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecSuppressionCaractereSpeciaux() { Professeur professeur1 = new Professeur("D'Ôrge Jean"); Professeur professeur2 = new Professeur("DÔrge Jean"); assertEquals(professeur1, professeur2); } + @Test + void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecEgualiteEntreEspaceEtCaractereSpeciaux() { + Professeur professeur1 = new Professeur("D'Ôrge Jean"); + Professeur professeur2 = new Professeur("D Ôrge Jean"); + assertEquals(professeur1, professeur2); + } + } diff --git a/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java b/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java index 34ebc38..09ed976 100644 --- a/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java +++ b/src/test/java/fr/umontp/edt/outils/OutilsProfesseurTest.java @@ -40,6 +40,8 @@ private static Stream genererArgumentsPourtest_formater_1parametre() return Stream.of(// Arguments.of("", ""), // Arguments.of("test", "TEST"), // + Arguments.of("D'Orge", "DORGE"), // + Arguments.of("D Orge", "DORGE"), // Arguments.of("TeEsT", "TEEST"), // Arguments.of("Téèçà", "TEECA"), // Arguments.of("ÉÈÇÀ", "EECA"), // @@ -57,6 +59,7 @@ private static Stream genererArgumentsPourtest_formater_2parametres() Arguments.of("", "", " "), // Arguments.of("test", "TEST", "TEST TEST"), // Arguments.of("TeEsT", "TeEsT", "TEEST TEEST"), // + Arguments.of("T eEsT", "TeE sT", "TEEST TEEST"), // Arguments.of("Téèçà", "Téèçà", "TEECA TEECA"), // Arguments.of("ÉÈÇÀ", "ÉÈÇÀ", "EECA EECA"), // Arguments.of("te93~('st", "t@°0245est", "TEST TEST")); From ecffe2c6619201237d44b5635099ddfb1e83d4c4 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Tue, 16 Feb 2021 23:49:24 +0100 Subject: [PATCH 08/11] =?UTF-8?q?=F0=9F=94=A8=20Validation=20test=20profes?= =?UTF-8?q?seur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java index fb24761..fcd1fb0 100644 --- a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java +++ b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java @@ -66,7 +66,7 @@ public static String formater(String nom, String prenom) { */ public static String formater(String nomPrenom) { nomPrenom = supprimerAccentuation(nomPrenom); - return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]", ""); + return nomPrenom.toUpperCase(Locale.FRANCE).replaceAll("[^A-Z ]|(?<=\\S)\\s(?=\\S)", ""); } } From 1041cda1e71788a33a944d5b7296d425cc278cd5 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Fri, 26 Feb 2021 16:16:41 +0100 Subject: [PATCH 09/11] =?UTF-8?q?=E2=9A=A1=20Multi-threading=20EmploiDuTem?= =?UTF-8?q?ps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/umontp/edt/EmploiDuTemps.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/umontp/edt/EmploiDuTemps.java b/src/main/java/fr/umontp/edt/EmploiDuTemps.java index 0efe13d..c674be9 100644 --- a/src/main/java/fr/umontp/edt/EmploiDuTemps.java +++ b/src/main/java/fr/umontp/edt/EmploiDuTemps.java @@ -123,7 +123,7 @@ private File getFichierIcsDepuisLienIcal() { } @Override - public void actualiser() { + public synchronized void actualiser() { File fichierIcs = getFichierIcsDepuisLienIcal(); Calendar calendar = convertieFichierIcsEnCalendar(fichierIcs); ArrayList coursList = new ArrayList<>(); From dc4434ccd686e312f5268c09d434f38a22becec1 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Fri, 26 Feb 2021 16:22:56 +0100 Subject: [PATCH 10/11] =?UTF-8?q?=F0=9F=93=9D=20Correction=20JavaDoc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/fr/umontp/edt/outils/OutilsProfesseur.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java index fcd1fb0..bf6ed3a 100644 --- a/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java +++ b/src/main/java/fr/umontp/edt/outils/OutilsProfesseur.java @@ -39,13 +39,13 @@ public static String supprimerAccentuation(String str) { * Concatène les deux variables {@code nom} et {@code prenom}, et renvoie une * variable formaté pour la class {@link Professeur}. * - * @param nom - * @param prenom + * @param nom du professeur + * @param prenom du professeur * * @return {@code String} formaté pour la class {@link Professeur}. * * @see String#toUpperCase(Locale) - * @see supprimerAccent + * @see OutilsProfesseur#supprimerAccentuation(String) * * @since 1.0.0 */ @@ -54,13 +54,13 @@ public static String formater(String nom, String prenom) { } /** - * @param nomPrenom + * @param nomPrenom non et prénom du professeur séparé par 3 espaces. * * @return la variable {@code nomPrenom} formaté pour la class * {@link Professeur}. * * @see String#toUpperCase(Locale) - * @see supprimerAccent + * @see OutilsProfesseur#supprimerAccentuation(String) * * @since 1.0.0 */ From 34b1d0dbe9120e3c35e47f30f1d7c69166ef3c73 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Fri, 26 Feb 2021 16:36:47 +0100 Subject: [PATCH 11/11] =?UTF-8?q?=E2=99=BB=E2=9C=85=20Refactorisation=20Pr?= =?UTF-8?q?ofesseurTest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/fr/umontp/edt/ProfesseurTest.java | 39 +++++++------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/src/test/java/fr/umontp/edt/ProfesseurTest.java b/src/test/java/fr/umontp/edt/ProfesseurTest.java index bc3378b..fea7e77 100644 --- a/src/test/java/fr/umontp/edt/ProfesseurTest.java +++ b/src/test/java/fr/umontp/edt/ProfesseurTest.java @@ -2,7 +2,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import java.util.stream.Stream; + import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; class ProfesseurTest { @@ -13,32 +18,18 @@ void testConstructeur_UnStrings_prenomNomCombine() { assertEquals("Jean", professeur.getPrenom()); } - @Test - void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifferenceMajuscule() { - Professeur professeur1 = new Professeur("DUpuis JeAN"); - Professeur professeur2 = new Professeur("DupUis JEan"); - assertEquals(professeur1, professeur2); - } - - @Test - void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecDifferenceCaractereSpeciaux() { - Professeur professeur1 = new Professeur("prés-dupuis Jean"); - Professeur professeur2 = new Professeur("pres-dupuis Jean"); - assertEquals(professeur1, professeur2); + @ParameterizedTest(name = "Le professeur {0} doit être égal avec {1}") + @MethodSource("genererArgumentsPourtest_equals") + void test_equals(Professeur prof1, Professeur prof2) { + assertEquals(prof1, prof2); } - @Test - void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecSuppressionCaractereSpeciaux() { - Professeur professeur1 = new Professeur("D'Ôrge Jean"); - Professeur professeur2 = new Professeur("DÔrge Jean"); - assertEquals(professeur1, professeur2); - } - - @Test - void testEquals_deuxProfesseursIdentiqueAvecConstructeurDifferent_avecEgualiteEntreEspaceEtCaractereSpeciaux() { - Professeur professeur1 = new Professeur("D'Ôrge Jean"); - Professeur professeur2 = new Professeur("D Ôrge Jean"); - assertEquals(professeur1, professeur2); + private static Stream genererArgumentsPourtest_equals() { + return Stream.of(// + Arguments.of(new Professeur("DUpuis JeAN"), new Professeur("DupUis JEan")), // + Arguments.of(new Professeur("prés-dupuis Jean"), new Professeur("pres-dupuis Jean")), // + Arguments.of(new Professeur("D'Ôrge Jean"), new Professeur("DÔrge Jean")), // + Arguments.of(new Professeur("D'Ôrge Jean"), new Professeur("D Ôrge Jean"))); } }