In this tutorial, we will see how to pass the message to JUnit assertTrue() static method and verify the supplied conditions are true.
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 assertTrue() method with Message
The below Java program demonstrates the usage of all overloaded assertTrue() static methods:
package junit5.assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
import org.junit.jupiter.api.Test;
import junit5.bookstore.model.Book;
import junit5.bookstore.service.BookService;
public class AssertTrueDemo {
@Test
public void assertTrueWithMessage() {
BookService bookService = new BookService();
List<Book> listOfBooks = bookService.books();
assertTrue(listOfBooks.isEmpty(), "List of books is not empty!");
}
@Test
public void assertTrueWithBooleanSupplierAndMessage() {
BookService bookService = new BookService();
List<Book> listOfBooks = bookService.books();
assertTrue(() -> listOfBooks.isEmpty(), "List of books is not empty!");
}
@Test
public void assertTrueWithMessageSupplier() {
BookService bookService = new BookService();
List<Book> listOfBooks = bookService.books();
assertTrue(listOfBooks.isEmpty(), () -> "List of books is not empty!");
}
@Test
public void assertTrueWithBooleanSupplierAndMessageSupplier() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
List<Book> listOfBooks = bookService.books();
assertTrue(() -> listOfBooks.isEmpty(), () -> "List of books is not empty!");
}
}
Run JUnit test Class
Run the JUnit test class to execute all the JUnit test cases and here is the output:
Comments
Post a Comment
Leave Comment