From 10bc07d11d00ba47ec2a8e0b1dc78bb8609d746e Mon Sep 17 00:00:00 2001 From: "medhi.rodrigues" Date: Fri, 3 Oct 2025 09:45:59 +0200 Subject: [PATCH] Commit Medhi Rodrigues --- .gitignore | 1 + .../bibliotheque/Contrôle/LivreValide.java | 10 +++++++- .../com/mycompany/bibliotheque/LivreTest.java | 9 +++---- .../bibliotheque/LivreValideTest.java | 24 ++++++++++++++----- 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/src/main/java/com/mycompany/bibliotheque/Contrôle/LivreValide.java b/src/main/java/com/mycompany/bibliotheque/Contrôle/LivreValide.java index 899d7b6..e16529a 100644 --- a/src/main/java/com/mycompany/bibliotheque/Contrôle/LivreValide.java +++ b/src/main/java/com/mycompany/bibliotheque/Contrôle/LivreValide.java @@ -3,6 +3,8 @@ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.mycompany.bibliotheque.Contrôle; +import java.util.regex.*; + /** * Classe de contrôle de la classe Livre @@ -23,9 +25,15 @@ public class LivreValide { // 3. Auteur : non vide et pas de chiffres ou caractères spéciaux public static boolean isValidAuteur(String auteur) { - // TODO: implémenter la validation + //verification que auteur n'est pas vide ou null + if (auteur == null || auteur.isBlank()) { return false; } + //ajout d'un pattern pour avoir uniquement des minuscules/majuscules + String pattern = "^[a-zA-Z]+$"; + //verification boolean que le nom d'auteur corresponde au patterne + return auteur.matches(pattern); +} // 4. Titre : longueur maximale 200 caractères public static boolean isLongueurTitreValid(String titre) { diff --git a/src/test/java/com/mycompany/bibliotheque/LivreTest.java b/src/test/java/com/mycompany/bibliotheque/LivreTest.java index 45d22d3..3409738 100644 --- a/src/test/java/com/mycompany/bibliotheque/LivreTest.java +++ b/src/test/java/com/mycompany/bibliotheque/LivreTest.java @@ -13,11 +13,12 @@ public class LivreTest { @Test public void testCreationLivre() { Livre b = new Livre("1984", "George Orwell", "1234567890123", false); - + + assertNotNull(b); - assertEquals("1984", b.getTitre()); - assertEquals("George Orwel", b.getAuteur()); // corrigé - assertEquals("1234567890123", b.getIsbn()); + assertEquals("La date n'est pas bonne","1984" ,b.getTitre() ); + assertEquals("L'auteur n'est pas le bon","George Orwell", b.getAuteur()); // corrigé + assertEquals("Le code isbn n'est pas le bon","1234567890123", b.getIsbn()); assertFalse(b.isEmprunte()); // si la méthode existe } } \ No newline at end of file diff --git a/src/test/java/com/mycompany/bibliotheque/LivreValideTest.java b/src/test/java/com/mycompany/bibliotheque/LivreValideTest.java index 4773c5e..57d812f 100644 --- a/src/test/java/com/mycompany/bibliotheque/LivreValideTest.java +++ b/src/test/java/com/mycompany/bibliotheque/LivreValideTest.java @@ -56,12 +56,24 @@ public class LivreValideTest { @Test public void testIsValidAuteur() { System.out.println("isValidAuteur"); - String auteur = ""; - boolean expResult = false; - boolean result = LivreValide.isValidAuteur(auteur); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); + + //Verification Bonne + String auteurTrue = "George"; + boolean expResult = true; + boolean result = LivreValide.isValidAuteur(auteurTrue); + assertEquals("Cas d'utilisation prévu",expResult, result); + + //Verification avec un nombre + String auteurFalse1 = "George4"; + boolean expResult1 = false; + boolean result1 = LivreValide.isValidAuteur(auteurFalse1); + assertEquals("Non valide car un nombre est présent", expResult1,result1); + + //Verification avec des caractères spéciaux + String auteurFalse2 = "George_"; + boolean expResult2 = false; + boolean result2 = LivreValide.isValidAuteur(auteurFalse2); + assertEquals("Non valide car des caractères spéciaux sont présent", expResult2,result2); } /** -- 2.49.1