Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to assert that a list does not contain something, with FEST?

Tags:

java

testing

fest

I'm using FEST to write assertions in JUnit.

It's easy to assert that a list is containing some elements:

assertThat(list).contains(2,4);

But how to assert that the list is not containing something? Like:

assertThat(list).doesnotContain(3); // !!! no such method
like image 427
Freewind Avatar asked May 15 '14 14:05

Freewind


1 Answers

I've just been having a browse through the source code for the version 1 branch and found this:

/**
 * Verifies that the actual group of objects does not contain the given objects.
 *
 * @param objects the objects that the group of objects should exclude.
 * @return this assertion object.
 * @throws AssertionError       if the actual group of objects is {@code null}.
 * @throws NullPointerException if the given array is {@code null}.
 * @throws AssertionError       if the actual group of objects contains any of the given objects.
 */
public final @Nonnull S excludes(@Nonnull Object... objects) {
    assertExcludes(objects);
    return myself();
}

I probably shouldn't make wild assumptions like this, but it's in the same class as your contains method (ObjectGroupAssert) and the Javadoc seems to describe the functionality you're looking for.

So I think, you would just need:

assertThat(list).excludes(5,7);
like image 111
Dan Temple Avatar answered Oct 05 '22 23:10

Dan Temple