6 Commits

13 changed files with 115 additions and 348 deletions

5
.gitignore vendored
View File

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

View File

@@ -6,7 +6,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>bibliotheque</artifactId>
<artifactId>GestionBibliotheque</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
@@ -19,6 +19,7 @@
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- Configuration du build -->
@@ -28,9 +29,10 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.2</version>
<version>2.22.2</version>
</plugin>
</plugins>
</build>
<name>GestionBibliotheque</name>
</project>

View File

@@ -9,40 +9,16 @@ package com.mycompany.bibliotheque.Contrôle;
* @author dthev
*/
public class LivreValide {
// 1. ISBN : exactement 13 chiffres
// 1. ISBN : exactement 13 chiffres
public static boolean isValidIsbn(String isbn) {
// TODO Emile: implémenter la validation
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;
// TODO: implémenter la validation
return false;
}
// 2. Titre : pas de balises HTML/JS (<script>, <img>, etc.)
public static boolean isValidTitre(String Titre) {
// 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;
// TODO: implémenter la validation
return false;
}
// 3. Auteur : non vide et pas de chiffres ou caractères spéciaux
@@ -53,23 +29,7 @@ public class LivreValide {
// 4. Titre : longueur maximale 200 caractères
public static boolean isLongueurTitreValid(String titre) {
// TODO Morgann: implémenter la validation
boolean valide = false;
if(titre.length()<=200 && titre != "" && titre != null){
valide = true;
}
return valide;
}
// 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) {
// TODO: implémenter la validation
return false;
}
boolean contenuValide = titre.matches(".*[a-zA-Z].*[a-zA-Z].*");
return contenuValide;
}
}

View File

@@ -1,21 +1,19 @@
/*
* 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;
/**
* Classe principale
* @author dthev
*/
import com.mycompany.bibliotheque.Métier.Bibliotheque;
import com.mycompany.bibliotheque.Métier.Emprunt;
import com.mycompany.bibliotheque.Métier.Utilisateur;
import com.mycompany.bibliotheque.Métier.Livre;
import java.util.Scanner;
/**
*
* @author dthev
*/
public class GestionBibliotheque {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
@@ -27,10 +25,10 @@ public class GestionBibliotheque {
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. 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,7 +8,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* Classe métier
*
* @author dthev
*/
public class Bibliotheque {
@@ -17,7 +17,6 @@ public class Bibliotheque {
// 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;
}

View File

@@ -4,16 +4,11 @@
*/
package com.mycompany.bibliotheque.Métier;
import com.mycompany.bibliotheque.Métier.Utilisateur;
import com.mycompany.bibliotheque.Métier.Livre;
/**
*
* @author dthev
*/
public class Emprunt {
// TODO: logique métier d'emprunt
public static boolean effectuerEmprunt(Utilisateur u, Livre l) {
if (l.isEmprunte()) {

View File

@@ -5,8 +5,9 @@
package com.mycompany.bibliotheque.Métier;
/**
*
* Classe métier qui gère les livres
* @author dthev
*
*/
public class Livre {

View File

@@ -4,15 +4,14 @@
*/
package com.mycompany.bibliotheque.Métier;
/**
*
* @author dthev
*/
import com.mycompany.bibliotheque.Métier.Livre;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author dthev
*/
public class Utilisateur {
private String nom;
private List<Livre> emprunts;

View File

@@ -0,0 +1,80 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit4TestClass.java to edit this template
*/
package com.mycompany.bibliotheque.Contrôle;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author dthev
*/
public class LivreValideTest {
public LivreValideTest() {
}
@Before
public void setUp() {
}
/**
* Test of isValidIsbn method, of class LivreValide.
*/
@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.");
}
/**
* Test of isValidTitre method, of class LivreValide.
*/
@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.");
}
/**
* Test of isValidAuteur method, of class LivreValide.
*/
@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.");
}
/**
* Test of isLongueurTitreValid method, of class LivreValide.
*/
@Test
public void testIsLongueurTitreValid() {
System.out.println("isLongueurTitreValid");
String titre = "";
boolean expResult = false;
boolean result = LivreValide.isLongueurTitreValid(titre);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
}

View File

@@ -1,193 +0,0 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit4TestClass.java to edit this template
*/
package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Contrôle.LivreValide;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author dthev
*/
public class LivreValideTest {
public LivreValideTest() {
}
@Before
public void setUp() {
}
/**
* Test of isValidIsbn method, of class LivreValide.
* @author Emile
*/
@Test
public void testIsValidIsbn() {
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);
assertFalse("Trop petit",LivreValide.isValidIsbn(isbn1));
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");
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() {
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.");
}
/**
* Test of isLongueurTitreValid method, of class LivreValide.
* @author Morgann
*/
@Test
public void testIsLongueurTitreValid() {
System.out.println("isLongueurTitreValid");
//test 1 : aucune valeur saisie
System.out.println("Test avec aucune valeur saisie");
String titre1 = "";
boolean expResult1 = false;
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 aucune valeur saisie");
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
public void testIsContenuTitreValid() {
System.out.println("isLongueurTitreValid");
String titre = "";
boolean expResult = false;
boolean result = LivreValide.isLongueurTitreValid(titre);
}
/**
* 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));
}
}

View File

@@ -2,10 +2,8 @@
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit4TestClass.java to edit this template
*/
package com.mycompany.bibliotheque;
package com.mycompany.bibliotheque.Métier;
import com.mycompany.bibliotheque.Métier.Bibliotheque;
import com.mycompany.bibliotheque.Métier.Livre;
import java.util.List;
import org.junit.Before;
import org.junit.Test;

View File

@@ -2,13 +2,16 @@
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit4TestClass.java to edit this template
*/
package com.mycompany.bibliotheque;
package com.mycompany.bibliotheque.Métier;
import com.mycompany.bibliotheque.Métier.Livre;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author dthev
*/
public class LivreTest {
@Test
public void testCreationLivre() {

View File

@@ -1,70 +0,0 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/UnitTests/JUnit4TestClass.java to edit this template
*/
package com.mycompany.bibliotheque;
import com.mycompany.bibliotheque.Métier.Utilisateur;
import com.mycompany.bibliotheque.Métier.Livre;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author dthev
*/
public class UtilisateurTest {
public UtilisateurTest() {
}
@Before
public void setUp() {
}
/**
* Test of getNom method, of class Utilisateur.
*/
@Test
public void testGetNom() {
System.out.println("getNom");
Utilisateur instance = null;
String expResult = "";
String result = instance.getNom();
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
/**
* Test of getEmprunts method, of class Utilisateur.
*/
@Test
public void testGetEmprunts() {
System.out.println("getEmprunts");
Utilisateur instance = null;
List<Livre> expResult = null;
List<Livre> result = instance.getEmprunts();
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
/**
* Test of emprunterLivre method, of class Utilisateur.
*/
@Test
public void testEmprunterLivre() {
System.out.println("emprunterLivre");
Livre livre = null;
Utilisateur instance = null;
boolean expResult = false;
boolean result = instance.emprunterLivre(livre);
assertEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
}