9 Commits

Author SHA1 Message Date
d8ec5254df Initialisation branche steve 2025-09-26 11:58:52 +02:00
bc740d970e initialisation branche steve 2025-09-26 10:23:41 +02:00
sio
22bce1d53b màj javadoc 2025-09-26 09:45:12 +02:00
6ec5d152eb Merge pull request 'màj LivreValidTest.java' (#3) from Prof into developpement
Reviewed-on: #3
2025-09-26 08:58:04 +02:00
sio
f1571ced27 màj LivreValidTest.java 2025-09-26 08:56:57 +02:00
ca3338fe1a Merge pull request 'Prof' (#2) from Prof into developpement
Reviewed-on: #2
2025-09-26 08:38:36 +02:00
sio
0eac6c497d nouveau message choix 2025-09-26 08:36:50 +02:00
sio
980fc1cc7c nouveau message choix 2025-09-26 08:35:00 +02:00
bec1ca9f04 Merge pull request 'master' (#1) from master into developpement
Reviewed-on: #1
2025-09-24 21:35:51 +02:00
7 changed files with 81 additions and 151 deletions

20
pom.xml
View File

@@ -30,7 +30,25 @@
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>3.1.2</version> <version>3.1.2</version>
</plugin> </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> </plugins>
</build> </build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project> </project>

View File

@@ -4,8 +4,6 @@
*/ */
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
@@ -14,35 +12,13 @@ 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 Emile: implémenter la validation // TODO Emile: implémenter la validation
boolean valide = true; return false;
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 Salomon: implémenter la validation // TODO: implémenter la validation
boolean test = true; return false;
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
@@ -53,31 +29,19 @@ public class LivreValide {
// 4. Titre : longueur maximale 200 caractères // 4. Titre : longueur maximale 200 caractères
public static boolean isLongueurTitreValid(String titre) { public static boolean isLongueurTitreValid(String titre) {
// TODO: implémenter la validation // TODO Morgann: implémenter la validation
return false; return false;
} }
// 5. Titre : non null et au moins 2 caractères // 5. Titre : non null et au moins 2 caractères
public static boolean isContenuTitreValide(String titre) { public static boolean isContenuTitreValide(String titre) {
// TODO: implémenter la validation // TODO Steve: implémenter la validation
if (titre == null) {
return false; return false;
} }
public static boolean isDisponible (Livre leLivre){ boolean contenuValide = titre.matches(".*[a-zA-Z].*[a-zA-Z].*");
boolean valide = true;
if(leLivre.isEmprunte()){ return contenuValide;
valide = false;
} }
return valide;
};
} }

View File

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

View File

@@ -8,15 +8,15 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Classe métier * Classe métier
* @author dthev * @author dthev
*/ */
public class Bibliotheque { public class Bibliotheque {
private List<Livre> lesLivres = new ArrayList<>(); private List<Livre> lesLivres = new ArrayList<>();
// 5. ISBN doit être unique // 5. ISBN doit être unique
public boolean addLivre(Livre b) { 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); lesLivres.add(b);
return false; return false;
} }

View File

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

View File

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

View File

@@ -5,7 +5,6 @@
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.*;
@@ -25,93 +24,37 @@ public class LivreValideTest {
/** /**
* Test of isValidIsbn method, of class LivreValide. * Test of isValidIsbn method, of class LivreValide.
* @author Emile
*/ */
@Test @Test
public void testIsValidIsbn() { public void testIsValidIsbn() {
System.out.println("|isValidIsbn |"); System.out.println("isValidIsbn");
String isbn = "";
//Test 1 : un isbn avec moins de 13 carractères boolean expResult = false;
System.out.println("Test1 : un isbn avec moins de 13 carractères"); boolean result = LivreValide.isValidIsbn(isbn);
String isbn1 = "1234568912"; assertEquals(expResult, result);
boolean expResult1 = false; // TODO review the generated test code and remove the default call to fail.
boolean result1 = LivreValide.isValidIsbn(isbn1); fail("The test case is a prototype.");
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. * Test of isValidTitre method, of class LivreValide.
* @author Salomé/Emile
*/ */
@Test @Test
public void testIsValidTitre() { public void testIsValidTitre() {
System.out.println("isValidTitre"); System.out.println("isValidTitre");
String Titre = "";
System.out.println("Test1 : un titre comportant un '<'"); boolean expResult = false;
String Titre1 = "La chat<perché"; boolean result = LivreValide.isValidTitre(Titre);
boolean expResult1 = false; assertEquals(expResult, result);
boolean result1 = LivreValide.isValidTitre(Titre1); // TODO review the generated test code and remove the default call to fail.
assertEquals("Le chevron < n'est pas censé etre accepté",expResult1, result1); fail("The test case is a prototype.");
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. * Test of isValidAuteur method, of class LivreValide.
* @author Medhi/Steve
*/ */
@Test @Test
public void testIsValidAuteur() { public void testIsValidAuteur() {
@@ -126,6 +69,7 @@ public class LivreValideTest {
/** /**
* Test of isLongueurTitreValid method, of class LivreValide. * Test of isLongueurTitreValid method, of class LivreValide.
* @author Morgann
*/ */
@Test @Test
public void testIsLongueurTitreValid() { public void testIsLongueurTitreValid() {
@@ -138,25 +82,29 @@ public class LivreValideTest {
fail("The test case is a prototype."); fail("The test case is a prototype.");
} }
/**
* Test of isTitreValid method, of class LivreValide.
* @author Steve
*/
@Test @Test
public void testIsDisponible(){ public void testIsContenuTitreValide() {
System.out.println("isDisponible"); System.out.println("isTitreValid");
Livre unLivre = new Livre("Le comte de MonteCristo","Alexandre Dumas", "1234567891245", false); String titre = "";
assertFalse("Le titre ne doit pas être vide !", LivreValide.isContenuTitreValide(titre));
System.out.println("Test1 : un livre disponible"); titre = null;
boolean result1 = LivreValide.isDisponible(unLivre); assertFalse("Le titre ne peut pas être nul !", LivreValide.isContenuTitreValide(titre));
assertTrue("Le chevron < n'est pas censé etre accepté", result1); titre = "Ti";
System.out.println("Le test1 est validé"); assertTrue("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
System.out.println("--------------------------------------------------"); titre = "T";
System.out.println(" "); assertFalse("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
titre = "1234";
unLivre.setEmprunte(true); assertFalse("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
System.out.println("Test2 : un livre indiisponible"); titre = "Ti2";
boolean result2 = LivreValide.isDisponible(unLivre); assertTrue("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
assertFalse("Le chevron < n'est pas censé etre accepté", result2); titre = "*$!";
System.out.println("Le test2 est validé"); assertFalse("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
System.out.println("--------------------------------------------------"); titre = "Ti!";
System.out.println(" "); assertTrue("Le titre fait au moins 2 caractères alphabétiques !", LivreValide.isContenuTitreValide(titre));
} }
} }