From 099cb403cad86449de1c4df1dc44eb1e16f72d90 Mon Sep 17 00:00:00 2001 From: felix-vi Date: Sun, 26 Apr 2026 18:11:37 +0200 Subject: [PATCH] =?UTF-8?q?:white=5Fcheck=5Fmark:=20r=C3=A9ussite=20des=20?= =?UTF-8?q?test=20pour=20une=20future=20BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/repository/BookRepository.java | 43 +++++++++++++++++++ .../book/repository/BookRepositoryTest.java | 6 +-- 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepository.java diff --git a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepository.java b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepository.java new file mode 100644 index 0000000..f7790b5 --- /dev/null +++ b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepository.java @@ -0,0 +1,43 @@ +package fr.iut_fbleau.but3.dev62.mylibrary.book.repository; + +import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +public class BookRepository { + + private final List books = new ArrayList<>(); + + public List findAll() { + return books; + } + + public void deleteAll() { + books.clear(); + } + + public Book save(Book newBook) { + Optional optionalBookWithSameIsbn = this.findByIsbn(newBook.getIsbn()); + optionalBookWithSameIsbn.ifPresent(books::remove); + this.books.add(newBook); + return newBook; + } + + public Optional findByIsbn(String isbn) { + return this.books.stream() + .filter(book -> book.getIsbn().equals(isbn)) + .findFirst(); + } + + public boolean existsByIsbn(String isbn) { + return this.books.stream() + .anyMatch(book -> book.getIsbn().equals(isbn)); + } + + public void delete(Book book) { + + this.books.remove(book); + } +} diff --git a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepositoryTest.java b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepositoryTest.java index 62908e9..5d3d5e6 100644 --- a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepositoryTest.java +++ b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/repository/BookRepositoryTest.java @@ -87,7 +87,7 @@ public class BookRepositoryTest { void testSaveUpdatesExistingBook() { repository.save(book1); - String isbn = "1516515616216"; + String isbn = "1234567891012"; LocalDate date = LocalDate.of(2026, 3, 24); ArrayList categories = new ArrayList<>(); categories.add("Thriller"); @@ -102,7 +102,7 @@ public class BookRepositoryTest { .price(12.99) .stock(50) .categories(categories) - .description("C'était un brave partit trop tôt") + .description("C'était un brave partit trop tôt beaucoup trop tôt") .language("Français") .build(); @@ -117,7 +117,7 @@ public class BookRepositoryTest { assertEquals(12.99, savedBook.getPrice()); assertEquals(50, savedBook.getStock()); assertEquals(categories, savedBook.getCategories()); - assertEquals("C'était un brave partit trop tôt", savedBook.getDescription()); + assertEquals("C'était un brave partit trop tôt beaucoup trop tôt", savedBook.getDescription()); assertEquals("Français", savedBook.getLanguage()); }