JUnit assertNull and assertNotNull Example

In this article, we will write a JUnit test to use the assertNull() and assertNotNull() static methods with examples.
assertNull() method checks the object null.
assertNotNull() method checks the object not null.
Let's first create BookBookService classes, and then we will write JUnit test cases to use the assertNull() and assertNotNull() static methods.

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 assertNull() method

The below Java program demonstrates the usage of all overloaded assertNull() static method:
import static org.junit.jupiter.api.Assertions.assertNull;

import org.junit.jupiter.api.Test;

import junit5.bookstore.model.Book;
import junit5.bookstore.service.BookService;

public class AssertNullDemo {
	
	@Test
	public void assertNullWithNoMessage() {
		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("4");
		assertNull(actualBook);
	}
	
	@Test
	public void assertNullWithMessage() {
		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("4");
		assertNull(actualBook, "Book is not null !");
	}
	
	@Test
	public void assertNullWithMessageSupplier() {
		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("4");
		assertNull(actualBook, () -> "Book is not null !");
	}
	
}

Run JUnit test Class

Run the JUnit test class to execute all the JUnit test cases and here is the output:

Write JUnit test to use assertNotNull() method

The below Java program demonstrates the usage of all overloaded assertNotNull() static method:
package junit5.assertions.assertNotNull;

import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;

import org.junit.jupiter.api.Test;

import junit5.bookstore.model.Book;
import junit5.bookstore.service.BookService;

public class AssertNotNullDemo {

	@Test
	public void assertNotNullWithNoMessage() {
		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");
		assertNotNull(actualBook);
	}
	
	@Test
	public void assertNotNullWithMessage() {
		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");
		assertNotNull(actualBook, "Book is null !");
	}
	
	@Test
	public void assertNotNullWithMessageSupplier() {
		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");
		assertNotNull(actualBook, () -> "Book is null !");
	}
	
}

Run Above JUnit test Class

Run the JUnit test class to execute all the JUnit test cases and here is the output:

Reference

Comments