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
7 changed files with 151 additions and 81 deletions

20
pom.xml
View File

@@ -30,25 +30,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -4,6 +4,8 @@
*/
package com.mycompany.bibliotheque.Contrôle;
import com.mycompany.bibliotheque.Métier.Livre;
/**
* Classe de contrôle de la classe Livre
* @author dthev
@@ -12,13 +14,35 @@ public class LivreValide {
// 1. ISBN : exactement 13 chiffres
public static boolean isValidIsbn(String isbn) {
// 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.)
public static boolean isValidTitre(String Titre) {
// TODO: implémenter la validation
return false;
// TODO Salomon: implémenter la validation
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
@@ -29,19 +53,31 @@ public class LivreValide {
// 4. Titre : longueur maximale 200 caractères
public static boolean isLongueurTitreValid(String titre) {
// TODO Morgann: implémenter la validation
// TODO: implémenter la validation
return false;
}
// 5. Titre : non null et au moins 2 caractères
public static boolean isContenuTitreValide(String titre) {
// TODO Steve: implémenter la validation
if (titre == null) {
return false;
// TODO: implémenter la validation
return false;
}
public static boolean isDisponible (Livre leLivre){
boolean valide = true;
if(leLivre.isEmprunte()){
valide = false;
}
boolean contenuValide = titre.matches(".*[a-zA-Z].*[a-zA-Z].*");
return contenuValide;
}
return valide;
};
}

View File

@@ -24,13 +24,13 @@ public class GestionBibliotheque {
Livre l1 = new Livre("Le secret des secrets","Dan Brown","9782709668385",true);
Utilisateur u1 = new Utilisateur("Alice");
System.out.println("Bienvenue dans la bibliothèque !");
System.out.println("Bienvenue dans la bibliothèque !");
while (choix!=4){
System.out.println("1. Afficher un livre");
System.out.println("2. Ajouter un livre");
System.out.println("3. Afficher les livres");
System.out.println("4. Quitter");
System.out.print("Merci de faire votre choix : ");
System.out.println("Votre choix : ");
choix = sc.nextInt();
switch (choix) {
case 1 :

View File

@@ -8,15 +8,15 @@ import java.util.ArrayList;
import java.util.List;
/**
* Classe métier
* Classe métier
* @author dthev
*/
public class Bibliotheque {
private List<Livre> lesLivres = new ArrayList<>();
// 5. ISBN doit être unique
// 5. ISBN doit être unique
public boolean addLivre(Livre b) {
//ajoute b si valide et si n'existe pas - à écrire
//ajoute b si valide et si n'existe pas - à écrire
lesLivres.add(b);
return false;
}

View File

@@ -12,7 +12,7 @@ package com.mycompany.bibliotheque.Métier;
public class Livre {
private String titre;
private String auteur;
private String isbn; // ISBN sous forme de chaîne
private String isbn; // ISBN sous forme de chaîne
private Boolean emprunte;
public Livre(String titre, String auteur, String isbn, Boolean emprunte) {

View File

@@ -14,10 +14,10 @@ public class LivreTest {
public void testCreationLivre() {
Livre b = new Livre("1984", "George Orwell", "1234567890123", false);
assertNotNull("L'objet Livre ne peut pas être nulle !", b);
assertEquals("Titre du Livre incorrect", "1984", b.getTitre());
assertEquals("Auteur du Livre incorrect", "George Orwel", b.getAuteur()); // corrigé
assertEquals("ISBN du Livre incorrect", "1234567890123", b.getIsbn());
assertFalse("Le livre n'est pas censé être emprunté", b.isEmprunte()); // si la méthode existe
assertNotNull(b);
assertEquals("1984", b.getTitre());
assertEquals("George Orwel", b.getAuteur()); // corrigé
assertEquals("1234567890123", b.getIsbn());
assertFalse(b.isEmprunte()); // si la méthode existe
}
}

View File

@@ -5,6 +5,7 @@
package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Contrôle.LivreValide;
import com.mycompany.bibliotheque.Métier.Livre;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
@@ -24,37 +25,93 @@ public class LivreValideTest {
/**
* Test of isValidIsbn method, of class LivreValide.
* @author Emile
*/
@Test
public void testIsValidIsbn() {
System.out.println("isValidIsbn");
String isbn = "";
boolean expResult = false;
boolean result = LivreValide.isValidIsbn(isbn);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
System.out.println("|isValidIsbn |");
//Test 1 : un isbn avec moins de 13 carractères
System.out.println("Test1 : un isbn avec moins de 13 carractères");
String isbn1 = "1234568912";
boolean expResult1 = false;
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(" ");
}
/**
* Test of isValidTitre method, of class LivreValide.
* @author Salomé/Emile
*/
@Test
public void testIsValidTitre() {
System.out.println("isValidTitre");
String Titre = "";
boolean expResult = false;
boolean result = LivreValide.isValidTitre(Titre);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
System.out.println("Test1 : un titre comportant un '<'");
String Titre1 = "La chat<perché";
boolean expResult1 = false;
boolean result1 = LivreValide.isValidTitre(Titre1);
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(" ");
}
/**
* Test of isValidAuteur method, of class LivreValide.
* @author Medhi/Steve
*/
@Test
public void testIsValidAuteur() {
@@ -69,7 +126,6 @@ public class LivreValideTest {
/**
* Test of isLongueurTitreValid method, of class LivreValide.
* @author Morgann
*/
@Test
public void testIsLongueurTitreValid() {
@@ -82,29 +138,25 @@ public class LivreValideTest {
fail("The test case is a prototype.");
}
/**
* Test of isTitreValid method, of class LivreValide.
* @author Steve
*/
@Test
public void testIsContenuTitreValide() {
System.out.println("isTitreValid");
String titre = "";
assertFalse("Le titre ne doit pas être vide !", LivreValide.isContenuTitreValide(titre));
titre = null;
assertFalse("Le titre ne peut pas être nul !", LivreValide.isContenuTitreValide(titre));
titre = "Ti";
assertTrue("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
titre = "T";
assertFalse("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
titre = "1234";
assertFalse("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
titre = "Ti2";
assertTrue("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
titre = "*$!";
assertFalse("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
titre = "Ti!";
assertTrue("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
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(" ");
}
}