@Test
public void assertNotNull() {

    // form 1
    Assert.assertNotNull(OBJECT);
    try {
        Assert.assertNotNull(null);
    } catch (IllegalArgumentException e) {
        assertThat(e, exception(IllegalArgumentException.class, DEFAULT_HEADER, "must not be null"));
    }
    // form 2
    Assert.assertNotNull(OBJECT, MESSAGE);
    try {
        Assert.assertNotNull(null, MESSAGE);
    } catch (IllegalArgumentException e) {
        assertThat(e, exception(IllegalArgumentException.class, MESSAGE));
    }
    try {
        Assert.assertNotNull(null, MESSAGE, 1);
    } catch (IllegalArgumentException e) {
        assertThat(e, exception(IllegalArgumentException.class, MESSAGE_1));
    }
    // form 3
    Assert.assertNotNull(OBJECT, Assert.ExceptionType.ILLEGAL_STATE, MESSAGE);
    try {
        Assert.assertNotNull(null, Assert.ExceptionType.ILLEGAL_STATE, MESSAGE);
    } catch (IllegalStateException e) {
        assertThat(e, exception(IllegalStateException.class, MESSAGE));
    }
    try {
        Assert.assertNotNull(null, Assert.ExceptionType.ILLEGAL_STATE, MESSAGE, 1);
    } catch (IllegalStateException e) {
        assertThat(e, exception(IllegalStateException.class, MESSAGE_1));
    }
}