Create Book Class
package junit5.bookstore.model;
public class Book {
private String bookId;
private String title;
private String publisher;
public Book(String bookId, String title, String publisher) {
this.bookId = bookId;
this.title = title;
this.publisher = publisher;
}
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
}Create BookService Class
package junit5.bookstore.service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import junit5.bookstore.model.Book;
public class BookService {
private List<Book> listOfBooks = new ArrayList<>();
public void addBook(Book book) {
listOfBooks.add(book);
}
public List<Book> books(){
return Collections.unmodifiableList(listOfBooks);
}
public Book getBookById(String bookId) {
for(Book book : listOfBooks) {
if(bookId.equals(book.getBookId())) {
return book;
}
}
return null;
}
public String[] getBookIdsByPublisher(String publisher) {
List<String> bookIds = new ArrayList<>();
for(Book book : listOfBooks) {
if(publisher.equals(book.getPublisher())) {
bookIds.add(book.getBookId());
}
}
return bookIds.toArray(new String[bookIds.size()]);
}
public List<String> getBookTitlesByPublisher(String publisher) {
List<String> bookTitles = new ArrayList<>();
for(Book book : listOfBooks) {
if(publisher.equals(book.getPublisher())) {
bookTitles.add(book.getTitle());
}
}
return bookTitles;
}
}Write JUnit test to use assertEquals() method
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
import junit5.bookstore.model.Book;
import junit5.bookstore.service.BookService;
public class AssertEqualsDemo {
@Test
public void assertEqualsWithNoMessage() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
Book actualBook = bookService.getBookById("1");
assertEquals("1", actualBook.getBookId());
assertEquals("Head First Java", actualBook.getTitle());
}
@Test
public void assertEqualsWithMessage() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
Book actualBook = bookService.getBookById("1");
assertEquals("1", actualBook.getBookId());
assertEquals("Head First Java", actualBook.getTitle(), "Book title didnt match!");
}
@Test
public void assertEqualsWithMessageSupplier() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
Book actualBook = bookService.getBookById("1");
assertEquals("1", actualBook.getBookId());
assertEquals("Head First Java", actualBook.getTitle(), () -> "Book title didnt match!");
}
}Run JUnit test Class
Reference
Continue Learning with Java Guides
Want to take your programming skills to the next level? Explore my practical Udemy courses on Java, Spring Boot, Microservices, Full-Stack Development, Docker, and Generative AI. You can also follow my structured learning roadmaps to become a professional developer.
By Ramesh Fadatare - Udemy Instructor Partner

Comments
Post a Comment
Leave Comment