27 Commits

Author SHA1 Message Date
medhi.rodrigues
2c79daa4b9 Medhi création fonction émile 2025-10-17 11:54:58 +02:00
sio
877fecb923 révisions terminées, tests unitaires et tests d'intégration 2025-10-17 08:54:27 +02:00
bb891a52a8 modif validAuteur 2025-10-03 11:49:01 +02:00
6e303b8977 retourLivre géré non testé 2025-10-03 11:32:34 +02:00
ed13a79a2f test emprunt <=3 livres 2025-10-03 11:18:42 +02:00
ed163b1a9a méthode inutile enlevée de LivreValideTest.java 2025-10-03 10:47:33 +02:00
c1aa2e4775 petite modif affichage testIsLongueurTitreValid 2025-10-03 10:42:24 +02:00
894688c5f0 isDisponible 2025-10-03 10:37:00 +02:00
7970ca8df6 tests unitaires réalisés 2025-10-03 10:21:45 +02:00
d0db3d84a3 fusions Morgann, Medhi 2025-10-03 10:09:40 +02:00
6e988ca75a Merge pull request 'dev.pomika' (#8) from dev.pomika into developpement
Reviewed-on: #8
2025-10-03 09:32:28 +02:00
906f075a95 Merge branch 'developpement' into dev.pomika 2025-10-03 09:32:14 +02:00
09cf3836c2 longueur titre : tests opérationnels 2025-10-03 09:22:44 +02:00
c762aac862 fusion avec Salomé, Steve et Emile pour les tests unitaires 2025-10-03 09:21:27 +02:00
a606a72476 Merge branch 'MalcuitEmile' into developpement
# Conflicts:
#	src/test/java/com/mycompany/bibliotheque/LivreValideTest.java
2025-10-03 08:43:45 +02:00
9f0f1ae00e Merge branch 'developpement' of https://gitea.lyc-lecastel.fr/delphine.thevenot/2026TestsBibliotheque into MalcuitEmile 2025-10-02 22:20:24 +02:00
1f44c6ee69 rajout méthode testIsContenuTitreValid à compléter 2025-10-02 21:50:36 +02:00
3f63db1a92 Merge branch 'MalcuitEmile' into developpement
Ajout partie Emile isValidIsbn
doit avoir 13 chiffres (pas de lettres, pas de caractères spéciaux)
2025-10-02 21:43:56 +02:00
19d2e618c3 test livre ok 2025-09-26 11:23:46 +02:00
6e8f63e2c0 Actualiser .gitignore 2025-09-26 10:36:52 +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
13 changed files with 353 additions and 111 deletions

4
.gitignore vendored
View File

@@ -1 +1,5 @@
/target/ /target/
<<<<<<< HEAD
=======
*.xml
>>>>>>> 6e8f63e2c0b4f89a6f46070511e8ce4223af4bb7

4
aLire.txt Normal file
View File

@@ -0,0 +1,4 @@
dépôt gitea : https://gitea.lyc-lecastel.fr/delphine.thevenot/2026TestsBibliotheque.git
branche : developpement
multibranches, fusions difficiles, à revoir

View File

@@ -2,9 +2,11 @@
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/ */
package com.mycompany.bibliotheque.Contrôle; package com.mycompany.bibliotheque.Controle;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.Livre;
import com.mycompany.bibliotheque.Metier.Utilisateur;
import java.util.Scanner;
/** /**
* Classe de contrôle de la classe Livre * Classe de contrôle de la classe Livre
@@ -14,6 +16,7 @@ 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; boolean valide = true;
if(isbn.length() == 13){ if(isbn.length() == 13){
int i = 0; int i = 0;
@@ -28,6 +31,7 @@ public class LivreValide {
valide = false; valide = false;
} }
return valide; return valide;
} }
// 2. Titre : pas de balises HTML/JS (<script>, <img>, etc.) // 2. Titre : pas de balises HTML/JS (<script>, <img>, etc.)
@@ -47,37 +51,71 @@ public class LivreValide {
// 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
public static boolean isValidAuteur(String auteur) { 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; 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 // 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; boolean valide = false;
if(titre.length()<=200 && titre != "" && titre != null){
valide = true;
}
return valide;
} }
// 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
return false; if (titre == null) {
return false;
}
boolean contenuValide = titre.matches(".*[a-zA-Z].*[a-zA-Z].*");
return contenuValide;
} }
public static boolean isDisponible (Livre leLivre){ /**
* IsDisponible()
* Vérifier livre pas déjà emprunté
* @author Emile
*/
public static boolean isDisponible (Livre leLivre){
boolean valide = true; boolean valide = true;
if(leLivre.isEmprunte()){ if(leLivre.isEmprunte()){
valide = false; valide = false;
} }
return valide; return valide;
}; };
/**
* IsDisponible()
* Vérifier livre pas déjà emprunté
* @author Morgann/Emile
*/
public static boolean retourLivre(Utilisateur user){
Scanner sc = new Scanner(System.in);
int i=0;
for(Livre unLivre:user.getEmprunts()){
i++;
System.out.println(i+". "+unLivre.getTitre());
}
System.out.print("Merci de faire votre choix : ");
int choix = sc.nextInt();
Livre leLivre = user.getEmprunts().get(choix-1);
leLivre.setEmprunte(false);
user.getEmprunts().remove(leLivre);
return leLivre.isEmprunte();
}
} }

View File

@@ -10,10 +10,11 @@ package com.mycompany.bibliotheque;
*/ */
import com.mycompany.bibliotheque.Métier.Bibliotheque; import com.mycompany.bibliotheque.Metier.Bibliotheque;
import com.mycompany.bibliotheque.Métier.Emprunt; import com.mycompany.bibliotheque.Metier.Emprunt;
import com.mycompany.bibliotheque.Métier.Utilisateur; import com.mycompany.bibliotheque.Metier.Utilisateur;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.Livre;
import java.util.ArrayList;
import java.util.Scanner; import java.util.Scanner;
public class GestionBibliotheque { public class GestionBibliotheque {
@@ -21,8 +22,14 @@ public class GestionBibliotheque {
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
int choix=0; int choix=0;
Bibliotheque laBibli = new Bibliotheque(); Bibliotheque laBibli = new Bibliotheque();
Livre l1 = new Livre("Le secret des secrets","Dan Brown","9782709668385",true); ArrayList<Livre> mesLivres = new ArrayList<>();
Utilisateur u1 = new Utilisateur("Alice"); Utilisateur unUtilisateur = new Utilisateur("Emile", mesLivres);
Livre ll = new Livre(1,"Le secret des secrets","Dan Brown","9782709668385",true);
Livre l2 = new Livre(2,"Le secret des secrets","Dan Brown","9772709668385",true);
Livre l3 = new Livre(3,"Le secret des secrets","Dan Brown","9712709668385",true);
Livre l4 = new Livre(4,"Le secret des secrets","Dan Brown","9792709668385",true);
Livre l5 = new Livre(5,"Le secret des secrets","Dan Brown","9282709668385",false);
//Utilisateur u1 = new Utilisateur("Alice", mesLivres.add(l1));
System.out.println("Bienvenue dans la bibliothèque !"); System.out.println("Bienvenue dans la bibliothèque !");
while (choix!=4){ while (choix!=4){
@@ -30,19 +37,40 @@ 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.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 :
System.out.println("---Livre : " + l1.getTitre()); System.out.println("---Livre : " + ll.getTitre());
break; break;
case 2 : case 2 :
laBibli.addLivre(l1); laBibli.addLivre(ll);
laBibli.addLivre(l2);
laBibli.addLivre(l3);
laBibli.addLivre(l4);
laBibli.addLivre(l5);
break; break;
case 3 : case 3 :
for (Livre leLivre : laBibli.getLesLivres()) { for (Livre leLivre : laBibli.getLesLivres()) {
System.out.println("---"+leLivre.toString()); if (leLivre.isEmprunte() == true) {
System.out.println("---"+ leLivre.getNumero() + " " + leLivre.toString());
}
} }
System.out.println("Choisir un livre avec le numéro du livre souhaité");
System.out.print("Merci de faire votre choix : ");
int choixLivre = sc.nextInt();
Livre livreChoisi = laBibli.trouverLivreParNumero(choixLivre);
if (unUtilisateur.emprunterLivre(livreChoisi) == true) {
System.out.print("Validation de l'emprunt");
} else {
System.out.print("Erreur lors de l'emprunt");
}
break; break;
} }
} }

View File

@@ -0,0 +1,58 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.mycompany.bibliotheque.Metier;
import com.mycompany.bibliotheque.Controle.LivreValide;
import java.util.ArrayList;
import java.util.List;
/**
* Classe métier
* @author dthev
*/
public class Bibliotheque {
private List<Livre> lesLivres = new ArrayList<>();
// 5. ISBN doit être unique
public boolean addLivre(Livre b) {
//ajoute b si valide et si n'existe pas - à écrire
String issues = "";
if (!LivreValide.isValidIsbn(b.getIsbn())) issues += "1 ";
if (!LivreValide.isValidTitre(b.getTitre())) issues += "2 ";
if (!LivreValide.isValidAuteur(b.getAuteur())) issues += "3 ";
if (!LivreValide.isLongueurTitreValid(b.getTitre())) issues += "4 ";
if (!LivreValide.isContenuTitreValide(b.getTitre())) issues += "5";
System.out.println(issues);
if (issues.length() < 1) {
System.out.println("valide");
for (Livre livre : this.getLesLivres()) {
if (livre.getIsbn().equals(b.getIsbn())) return false;
}
lesLivres.add(b);
return true;
} else return false;
}
public List<Livre> getLesLivres() {
return lesLivres;
}
public void setLesLivres(List<Livre> lesLivres) {
this.lesLivres = lesLivres;
}
public Livre trouverLivreParNumero(int numero) {
for (Livre l : lesLivres) {
if (l.getNumero() == numero) {
return l;
}
}
return null; // pas trouvé
}
}

View File

@@ -2,10 +2,10 @@
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/ */
package com.mycompany.bibliotheque.Métier; package com.mycompany.bibliotheque.Metier;
import com.mycompany.bibliotheque.Métier.Utilisateur; import com.mycompany.bibliotheque.Metier.Utilisateur;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.Livre;
/** /**
* *

View File

@@ -2,7 +2,7 @@
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/ */
package com.mycompany.bibliotheque.Métier; package com.mycompany.bibliotheque.Metier;
/** /**
* *
@@ -10,6 +10,7 @@ package com.mycompany.bibliotheque.Métier;
*/ */
public class Livre { public class Livre {
private int numero;
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
@@ -21,6 +22,18 @@ public class Livre {
this.isbn = isbn; this.isbn = isbn;
this.emprunte = emprunte; this.emprunte = emprunte;
} }
public Livre(int numero, String titre, String auteur, String isbn, Boolean emprunte) {
this.numero = numero;
this.titre = titre;
this.auteur = auteur;
this.isbn = isbn;
this.emprunte = emprunte;
}
public int getNumero() {
return numero;
}
//getters et setters //getters et setters
public String getTitre() { public String getTitre() {

View File

@@ -2,22 +2,21 @@
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/ */
package com.mycompany.bibliotheque.Métier; package com.mycompany.bibliotheque.Metier;
/** /**
* *
* @author dthev * @author dthev
*/ */
import com.mycompany.bibliotheque.Métier.Livre;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class Utilisateur { public class Utilisateur {
private String nom; private final String nom;
private List<Livre> emprunts; private final ArrayList<Livre> emprunts;
public Utilisateur(String nom) { public Utilisateur(String nom, ArrayList<Livre> mesLivres) {
this.nom = nom; this.nom = nom;
this.emprunts = new ArrayList<>(); this.emprunts = new ArrayList<>();
} }
@@ -30,8 +29,19 @@ public class Utilisateur {
return emprunts; return emprunts;
} }
// TODO: ajouter un emprunt si l'utilisateur a moins de 3 livres // TODO: ajouter un emprunt si l'utilisateur a moins de 3 livres
/**
* @author Medhi
* @param livre
*/
public boolean emprunterLivre(Livre livre) { public boolean emprunterLivre(Livre livre) {
return false; // à compléter if (emprunts.size() < 3) {
emprunts.add(livre);
livre.setEmprunte(false);
return true;
} else {
return false;
} }
} }
}

View File

@@ -1,33 +0,0 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.mycompany.bibliotheque.Métier;
import java.util.ArrayList;
import java.util.List;
/**
* Classe métier
* @author dthev
*/
public class Bibliotheque {
private List<Livre> lesLivres = new ArrayList<>();
// 5. ISBN doit être unique
public boolean addLivre(Livre b) {
//ajoute b si valide et si n'existe pas - à écrire
lesLivres.add(b);
return false;
}
public List<Livre> getLesLivres() {
return lesLivres;
}
public void setLesLivres(List<Livre> lesLivres) {
this.lesLivres = lesLivres;
}
}

View File

@@ -4,8 +4,8 @@
*/ */
package com.mycompany.bibliotheque; package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Métier.Bibliotheque; import com.mycompany.bibliotheque.Metier.Bibliotheque;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.Livre;
import java.util.List; import java.util.List;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -29,14 +29,50 @@ public class BibliothequeTest {
*/ */
@Test @Test
public void testAddLivre() { public void testAddLivre() {
System.out.println("addLivre"); System.out.println("addLivre");
Livre b = null;
Bibliotheque instance = new Bibliotheque(); Bibliotheque instance = new Bibliotheque();
boolean expResult = false;
boolean result = instance.addLivre(b); // Ajout d'un livre avec ISBN invalide
assertEquals(expResult, result); Livre livre = new Livre("Naruto", "Masashi Kishimoto", "1234ABCD567", false);
// TODO review the generated test code and remove the default call to fail. boolean ajoutLivre = instance.addLivre(livre);
fail("The test case is a prototype."); System.out.println("Refus de l'ISBN invalide");
assertFalse("L'ISBN du livre n'est pas censé être valide avec lettres !", ajoutLivre);
// Ajout d'un livre avec titre invalide
livre = new Livre("<script>Dragon Ball</script>", "Akira Toriyama", "8762709652385", false);
ajoutLivre = instance.addLivre(livre);
System.out.println("Refus de titre invalide");
assertFalse("Le titre du livre n'est pas censé être valide avec des balises !", ajoutLivre);
// Ajout d'un livre avec auteur invalide
livre = new Livre("Dr. STONE", "Bo1ch1", "8762207682385", false);
ajoutLivre = instance.addLivre(livre);
System.out.println("Refus d'auteur invalide");
assertFalse("L'auteur du livre n'est pas censé être valide avec des caractères non alphabétiques !", ajoutLivre);
// Ajout d'un livre avec longueur de titre invalide
livre = new Livre("Dandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadandadan", "Yukinobu Tatsu", "1702203672985", false);
ajoutLivre = instance.addLivre(livre);
System.out.println("Refus de longueur de titre invalide");
assertFalse("Le titre n'est pas censé être valide avec une longueur excédant les 200 caractères !", ajoutLivre);
// Ajout d'un livre avec contenu de titre invalide
livre = new Livre("007", "Steve Maingana", "3712503622788", false);
ajoutLivre = instance.addLivre(livre);
System.out.println("Refus de contenu de titre invalide invalide");
assertFalse("Le titre n'est pas censé être valide sans au moins 2 caractères alphabétiques !", ajoutLivre);
// Premier ajout de livre
livre = new Livre("Frieren", "Kanehito Yamada", "6785708652385", false);
ajoutLivre = instance.addLivre(livre);
System.out.println("Premier ajout d'un même livre");
System.out.println(ajoutLivre);
assertTrue("La bibliothèque ne permet pas de doublon !", ajoutLivre);
// Second ajout du même livre
ajoutLivre = instance.addLivre(livre);
System.out.println("Refus d'ajout du même livre");
assertFalse("La bibliothèque ne permet pas de doublon !", ajoutLivre);
} }
/** /**

View File

@@ -4,7 +4,7 @@
*/ */
package com.mycompany.bibliotheque; package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.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.*;
@@ -16,7 +16,7 @@ public void testCreationLivre() {
assertNotNull(b); assertNotNull(b);
assertEquals("1984", b.getTitre()); assertEquals("1984", b.getTitre());
assertEquals("George Orwel", b.getAuteur()); // corrigé assertEquals("George Orwell", b.getAuteur()); // corrigé
assertEquals("1234567890123", b.getIsbn()); assertEquals("1234567890123", b.getIsbn());
assertFalse(b.isEmprunte()); // si la méthode existe assertFalse(b.isEmprunte()); // si la méthode existe
} }

View File

@@ -4,8 +4,8 @@
*/ */
package com.mycompany.bibliotheque; package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Contrôle.LivreValide; import com.mycompany.bibliotheque.Controle.LivreValide;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.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,10 +25,12 @@ 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");
//Test 1 : un isbn avec moins de 13 carractères //Test 1 : un isbn avec moins de 13 carractères
System.out.println("Test1 : un isbn avec moins de 13 carractères"); System.out.println("Test1 : un isbn avec moins de 13 carractères");
@@ -36,6 +38,7 @@ public class LivreValideTest {
boolean expResult1 = false; boolean expResult1 = false;
boolean result1 = LivreValide.isValidIsbn(isbn1); boolean result1 = LivreValide.isValidIsbn(isbn1);
assertEquals("Le nombre de carractère est censé est trop petit",expResult1, result1); assertEquals("Le nombre de carractère est censé est trop petit",expResult1, result1);
assertFalse("Trop petit",LivreValide.isValidIsbn(isbn1));
System.out.println("Le test1 est validé"); System.out.println("Le test1 est validé");
System.out.println("--------------------------------------------------"); System.out.println("--------------------------------------------------");
System.out.println(" "); System.out.println(" ");
@@ -74,6 +77,7 @@ public class LivreValideTest {
/** /**
* 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() {
@@ -106,39 +110,109 @@ public class LivreValideTest {
System.out.println("Le test3 est validé"); System.out.println("Le test3 est validé");
System.out.println("--------------------------------------------------"); System.out.println("--------------------------------------------------");
System.out.println(" "); System.out.println(" ");
} }
/** /**
* Test of isValidAuteur method, of class LivreValide. * Test of isValidAuteur method, of class LivreValide.
* @author Medhi
*/ */
@Test @Test
public void testIsValidAuteur() { public void testIsValidAuteur() {
System.out.println("isValidAuteur"); System.out.println("isValidAuteur");
String auteur = "";
boolean expResult = false; //Verification Bonne
boolean result = LivreValide.isValidAuteur(auteur); String auteurTrue = "George";
assertEquals(expResult, result); boolean expResult = true;
// TODO review the generated test code and remove the default call to fail. boolean result = LivreValide.isValidAuteur(auteurTrue);
fail("The test case is a prototype."); 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);
//Verification avec des espace
String auteurTrue3 = "George Orwell";
boolean result3 = LivreValide.isValidAuteur(auteurTrue3);
assertTrue("",result3);
//Verification avec -
String auteurTrue4 = "George-Orwell";
boolean result4 = LivreValide.isValidAuteur(auteurTrue4);
assertTrue("",result4);
} }
/** /**
* Test of isLongueurTitreValid method, of class LivreValide. * Test of isLongueurTitreValid method, of class LivreValide.
* @author Morgann
*/ */
@Test @Test
public void testIsLongueurTitreValid() { public void testIsLongueurTitreValid() {
System.out.println("isLongueurTitreValid"); System.out.println("isLongueurTitreValid");
String titre = "";
boolean expResult = false; //test 1 : aucune valeur saisie
boolean result = LivreValide.isLongueurTitreValid(titre); System.out.println("Test avec aucune valeur saisie");
assertEquals(expResult, result); String titre1 = "";
// 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.isLongueurTitreValid(titre1);
assertEquals(expResult1, result1);
System.out.println("Titre invalide. Aucune valeur n'a été saisie\n");
//test 2 : titre inférieur à 200
System.out.println("Test avec valeur saisie OK");
String titre2 = "Hadal Blacksite bestiary";
boolean expResult2 = true;
boolean result2 = LivreValide.isLongueurTitreValid(titre2);
assertEquals(expResult2, result2);
System.out.println("Titre valide. Le titre a moins de 200 caractères\n");
System.out.println("Test avec un titre avec plus de 200 caractères");
String titre3 = "YOU !! You could've had everything you ever wanted... Everything I ever wanted... And you still went out of your way to take everything I had left in the process. You entitled brat. You expect me to sit idly by and keep smiling, As if nothing ever happened? Oh, I'm smiling alright... GRINNING ear to ear. Don't even start with that 'following orders' schlock. You knew what you were doing all too well. Sure took your sweet time. Enjoyed every last second of it? Good. *Chuckles* EXCELLENT, even! I'll merely return the favor. And you bet, I'll be enjoying, every last moment, of THIS!!! THE BEST PART!? I get to do this, over, and over, again. You'll come back, I'll know, and I'll be waiting... You have no one to blame but yourself. You're in a hell of your own making... And you're NEVER GETTING OUT!!! *grrgh* WHAT!!! WHAT IS IT THIS TIME!?!?";
boolean expResult3 = false;
boolean result3 = LivreValide.isLongueurTitreValid(titre3);
assertEquals(expResult3, result3);
System.out.println("Titre invalide. Titre trop long\n");
} }
/**
* Test of isTitreValid method, of class LivreValide.
* @author Steve
*/
@Test @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));
}
/**
* Test testIsDisponible()
* Vérifier livre pas déjà emprunté
* @author Emile
*/
@Test
public void testIsDisponible(){ public void testIsDisponible(){
System.out.println("isDisponible"); System.out.println("isDisponible");
Livre unLivre = new Livre("Le comte de MonteCristo","Alexandre Dumas", "1234567891245", false); Livre unLivre = new Livre("Le comte de MonteCristo","Alexandre Dumas", "1234567891245", false);
@@ -158,5 +232,4 @@ public class LivreValideTest {
System.out.println("--------------------------------------------------"); System.out.println("--------------------------------------------------");
System.out.println(" "); System.out.println(" ");
} }
} }

View File

@@ -4,8 +4,9 @@
*/ */
package com.mycompany.bibliotheque; package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Métier.Utilisateur; import com.mycompany.bibliotheque.Metier.Utilisateur;
import com.mycompany.bibliotheque.Métier.Livre; import com.mycompany.bibliotheque.Metier.Livre;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -52,19 +53,29 @@ public class UtilisateurTest {
fail("The test case is a prototype."); fail("The test case is a prototype.");
} }
/** /**
* Test of emprunterLivre method, of class Utilisateur. * Test of emprunterLivre method, of class Utilisateur.
* @author Madhi
*/ */
@Test @Test
public void testEmprunterLivre() { public void testEmprunterLivre() {
System.out.println("emprunterLivre"); System.out.println("emprunterLivre");
Livre livre = null;
Utilisateur instance = null; Livre a = new Livre("1984", "George Orwell", "1234567890123", false);
boolean expResult = false; Livre b = new Livre("1984", "Test2", "1232667890123", false);
boolean result = instance.emprunterLivre(livre); Livre c = new Livre ("1888","Test3","1232667890123",false);
assertEquals(expResult, result); Livre d = new Livre ("1263","Test4","1236267890123",false);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype."); ArrayList<Livre> mesLivres = new ArrayList<>();
Utilisateur utilisateur = new Utilisateur("Medhi", mesLivres);
boolean result = utilisateur.emprunterLivre(a);
assertTrue("L'utilisateur a trop de livres",result);
result = utilisateur.emprunterLivre(b);
result = utilisateur.emprunterLivre(c);
result = utilisateur.emprunterLivre(d);
assertFalse("L'utilisateur n'a pas encore trois emprunts ",result);
} }
} }