5 Commits

Author SHA1 Message Date
emile.malcuit
c742e0cb46 Emprunté ou non 2025-10-03 09:14:08 +02:00
emile.malcuit
0a660cecf2 Fin partie salomé 2025-10-03 08:22:39 +02:00
emile.malcuit
f90dc16401 test de validité du titre
pas de chevrons accepté
2025-09-26 11:51:51 +02:00
emile.malcuit
9593ca5fab test unitaire 13 carractère isbn 2025-09-26 11:20:29 +02:00
emile.malcuit
a7b45071cc Init branch emile 2025-09-26 10:19:30 +02:00
3 changed files with 141 additions and 18 deletions

View File

@@ -4,6 +4,8 @@
*/ */
package com.mycompany.bibliotheque.Contrôle; package com.mycompany.bibliotheque.Contrôle;
import com.mycompany.bibliotheque.Métier.Livre;
/** /**
* Classe de contrôle de la classe Livre * Classe de contrôle de la classe Livre
* @author dthev * @author dthev
@@ -11,14 +13,36 @@ package com.mycompany.bibliotheque.Contrôle;
public class LivreValide { public class LivreValide {
// 1. ISBN : exactement 13 chiffres // 1. ISBN : exactement 13 chiffres
public static boolean isValidIsbn(String isbn) { public static boolean isValidIsbn(String isbn) {
// TODO: implémenter la validation // TODO Emile: implémenter la validation
return false; boolean valide = true;
if(isbn.length() == 13){
int i = 0;
while (i < 13 && valide) {
if(!Character.isDigit(isbn.charAt(i))){
valide = false;
}else{
i++;
}
}
}else{
valide = false;
}
return valide;
} }
// 2. Titre : pas de balises HTML/JS (<script>, <img>, etc.) // 2. Titre : pas de balises HTML/JS (<script>, <img>, etc.)
public static boolean isValidTitre(String Titre) { public static boolean isValidTitre(String Titre) {
// TODO: implémenter la validation // TODO Salomon: implémenter la validation
return false; boolean test = true;
int i = 0;
while (i < Titre.length() && test) {
if(Titre.charAt(i) == '<' || Titre.charAt(i) == '>'){
test = false;
}else{
i++;
}
}
return test;
} }
// 3. Auteur : non vide et pas de chiffres ou caractères spéciaux // 3. Auteur : non vide et pas de chiffres ou caractères spéciaux
@@ -38,4 +62,22 @@ public class LivreValide {
// TODO: implémenter la validation // TODO: implémenter la validation
return false; return false;
} }
public static boolean isDisponible (Livre leLivre){
boolean valide = true;
if(leLivre.isEmprunte()){
valide = false;
}
return valide;
};
} }

View File

@@ -30,7 +30,7 @@ public class GestionBibliotheque {
System.out.println("2. Ajouter un livre"); System.out.println("2. Ajouter un livre");
System.out.println("3. Afficher les livres"); System.out.println("3. Afficher les livres");
System.out.println("4. Quitter"); System.out.println("4. Quitter");
System.out.print("Merci de faire votre choix : "); System.out.println("Votre choix : ");
choix = sc.nextInt(); choix = sc.nextInt();
switch (choix) { switch (choix) {
case 1 : case 1 :

View File

@@ -5,6 +5,7 @@
package com.mycompany.bibliotheque; package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Contrôle.LivreValide; import com.mycompany.bibliotheque.Contrôle.LivreValide;
import com.mycompany.bibliotheque.Métier.Livre;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import static org.junit.Assert.*; import static org.junit.Assert.*;
@@ -27,13 +28,48 @@ public class LivreValideTest {
*/ */
@Test @Test
public void testIsValidIsbn() { public void testIsValidIsbn() {
System.out.println("isValidIsbn"); System.out.println("|isValidIsbn |");
String isbn = "";
boolean expResult = false; //Test 1 : un isbn avec moins de 13 carractères
boolean result = LivreValide.isValidIsbn(isbn); System.out.println("Test1 : un isbn avec moins de 13 carractères");
assertEquals(expResult, result); String isbn1 = "1234568912";
// TODO review the generated test code and remove the default call to fail. boolean expResult1 = false;
fail("The test case is a prototype."); boolean result1 = LivreValide.isValidIsbn(isbn1);
assertEquals("Le nombre de carractère est censé est trop petit",expResult1, result1);
System.out.println("Le test1 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
//Test2 : lettre dans l'isbn
System.out.println("Test2 : lettre dans l'isbn");
String isbn2 = "123456789ABC2";
boolean expResult2 = false;
boolean result2 = LivreValide.isValidIsbn(isbn2);
assertEquals("Les alphas ne sont pas autorisés", expResult2, result2);
System.out.println("Le test2 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
//Test3 : mauvais nombre de carratère 15
System.out.println("Test3: isbn comportant plus de 13 chiffres");
String isbn3 = "1234568912123568";
boolean expResult3 = false;
boolean result3 = LivreValide.isValidIsbn(isbn3);
assertEquals("Le nombre de carractère est censé est trop grand",expResult3, result3);
System.out.println("Le test3 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
//Test4 : Un isbn valide
System.out.println("Test4: Un isbn valide");
String isbn4 = "1234568912126";
boolean expResult4 = true;
boolean result4 = LivreValide.isValidIsbn(isbn4);
assertEquals("L'isbn est censé être valide",expResult4, result4);
System.out.println("Le test4 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
} }
/** /**
@@ -42,12 +78,36 @@ public class LivreValideTest {
@Test @Test
public void testIsValidTitre() { public void testIsValidTitre() {
System.out.println("isValidTitre"); System.out.println("isValidTitre");
String Titre = "";
boolean expResult = false; System.out.println("Test1 : un titre comportant un '<'");
boolean result = LivreValide.isValidTitre(Titre); String Titre1 = "La chat<perché";
assertEquals(expResult, result); boolean expResult1 = false;
// TODO review the generated test code and remove the default call to fail. boolean result1 = LivreValide.isValidTitre(Titre1);
fail("The test case is a prototype."); assertEquals("Le chevron < n'est pas censé etre accepté",expResult1, result1);
System.out.println("Le test1 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
System.out.println("Test2 : un titre comportant un '>'");
String Titre2 = "La chat >perché";
boolean expResult2 = false;
boolean result2 = LivreValide.isValidTitre(Titre2);
assertEquals("Le chevron > n'est pas censé etre accepté",expResult2, result2);
System.out.println("Le test2 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
System.out.println("Test3 : un titre valide");
String Titre3 = "La chat perché";
boolean expResult3 = true;
boolean result3 = LivreValide.isValidTitre(Titre3);
assertEquals("Ce titre est cencé être valide",expResult3, result3);
System.out.println("Le test3 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
} }
/** /**
@@ -78,4 +138,25 @@ public class LivreValideTest {
fail("The test case is a prototype."); fail("The test case is a prototype.");
} }
@Test
public void testIsDisponible(){
System.out.println("isDisponible");
Livre unLivre = new Livre("Le comte de MonteCristo","Alexandre Dumas", "1234567891245", false);
System.out.println("Test1 : un livre disponible");
boolean result1 = LivreValide.isDisponible(unLivre);
assertTrue("Le chevron < n'est pas censé etre accepté", result1);
System.out.println("Le test1 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
unLivre.setEmprunte(true);
System.out.println("Test2 : un livre indiisponible");
boolean result2 = LivreValide.isDisponible(unLivre);
assertFalse("Le chevron < n'est pas censé etre accepté", result2);
System.out.println("Le test2 est validé");
System.out.println("--------------------------------------------------");
System.out.println(" ");
}
} }