JUnit assertTrue Example

In this tutorial, we will learn how to use JUnit assertTrue() static method to verify the supplied conditions are true.

Overloaded assertTrue static methods

assertTrue​(boolean condition) - Assert that the supplied condition is true.
assertTrue​(boolean condition, String message) - Assert that the supplied condition is true.
assertTrue​(boolean condition, Supplier<String> messageSupplier) - Assert that the supplied condition is true.
assertTrue​(BooleanSupplier booleanSupplier) - Assert that the boolean condition supplied by booleanSupplier is true.
assertTrue​(BooleanSupplier booleanSupplier, String message) - Assert that the boolean condition supplied by booleanSupplier is true.
assertTrue​(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier) - Assert that the boolean condition supplied by booleanSupplier is 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

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 assertTrueWithNoMessage() {
		BookService bookService = new BookService();

		List<Book> listOfBooks = bookService.books();
		
		assertTrue(listOfBooks.isEmpty());
		
	}
	
	@Test
	public void assertTrueWithBooleanSupplierAndNoMessage() {
		BookService bookService = new BookService();

		List<Book> listOfBooks = bookService.books();
		
		assertTrue(() -> listOfBooks.isEmpty());
		
	}
	
	@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