🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
In this tutorial, we will learn how to write a JUnit test case to check two array objects are equal using the assertArrayEquals() static method.
Let's first create Book, BookService classes, and then we will write JUnit test cases to use the assertArrayEquals() method.
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 assertArrayEquals() method
The below Java program demonstrates the usage of all overloaded assertArrayEquals() static method:
package junit5.assertions.assertArraysEquals;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import org.junit.jupiter.api.Test;
import junit5.bookstore.model.Book;
import junit5.bookstore.service.BookService;
public class AssertArraysEqualsDemo {
@Test
public void assertArrayEqualsWithNoMessage() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
Book headFirstJavascriptBook = new Book("3", "Head First Javascript", "Wrox");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
bookService.addBook(headFirstJavascriptBook);
String[] actualBookIds = bookService.getBookIdsByPublisher("Wrox");
assertArrayEquals(new String[] {"1", "3"}, actualBookIds);
}
@Test
public void assertArrayEqualsWithMessage() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
Book headFirstJavascriptBook = new Book("3", "Head First Javascript", "Wrox");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
bookService.addBook(headFirstJavascriptBook);
String[] actualBookIds = bookService.getBookIdsByPublisher("Wrox");
assertArrayEquals(new String[] {"1", "3"}, actualBookIds, "bookIds didnt match !");
}
@Test
public void assertArrayEqualsWithMessageSupplier() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
Book headFirstJavascriptBook = new Book("3", "Head First Javascript", "Wrox");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
bookService.addBook(headFirstJavascriptBook);
String[] actualBookIds = bookService.getBookIdsByPublisher("Wrox");
assertArrayEquals(new String[] {"1", "3"}, actualBookIds, () -> "bookIds didnt match !");
}
}
Run JUnit test Class
Run the JUnit test class to execute all the JUnit test cases and here is the output:Reference
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
🆕 High-Demand
80–90% OFF
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
🆕 High-Demand
80–90% OFF
ChatGPT + Generative AI + Prompt Engineering for Beginners
🚀 Trending Now
80–90% OFF
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
🌟 Top Rated
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
🌟 Top Rated
80–90% OFF
Testing Spring Boot Application with JUnit and Mockito
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Master Spring Data JPA with Hibernate
🔥 Bestseller
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
🎓 Student Favorite
80–90% OFF
Available in Udemy for Business
Available in Udemy for Business

Comments
Post a Comment
Leave Comment