assert that a list is not empty in JUnit

I want to assert that a list is not empty in JUnit 4, when I googled about it I found this post : Checking that a List is not empty in Hamcrest which was using Hamcrest.

assertThat(result.isEmpty(), is(false));

which gives me this error :

The method is(boolean) is undefined for the type MaintenanceDaoImplTest

how can I do that without using Hamcrest.


You can simply use

assertFalse(result.isEmpty());

Regarding your problem, it's simply caused by the fact that you forgot to statically import the is() method from Hamcrest;

import static org.hamcrest.CoreMatchers.is;

This reads quite nicely and uses Hamcrest. Exactly what you asked for ;) Always nice when the code reads like a comment.

assertThat(myList, is(empty()));
assertThat(myList, is(not(empty())));

You can add is as a static import to your IDE as I know that eclipse and IntelliJ is struggling with suggesting it even when it is on the classpath.


IntelliJ

Settings -> Code Style -> Java -> Imports 

Eclipse

Prefs -> Java -> Editor -> Content Assist -> Favourites 

And the import itself is import static org.hamcrest.CoreMatchers.is;


assertEquals(Collections.Empty_List,Collections.emptyList())

Try this.


You can check if your list is not equal an Empty List (Collections.EMPTY_LIST), try this:

Assertions.assertNotEquals(Collections.EMPTY_LIST, yourList);