blob: 74b046b57e88a4f1d848b447b0593daa1c87e151 [file] [log] [blame]
package org.hamcrest.core;
import org.hamcrest.Matcher;
import org.junit.Test;
import static org.hamcrest.AbstractMatcherTest.*;
import static org.hamcrest.core.IsNull.notNullValue;
import static org.hamcrest.core.IsNull.nullValue;
public final class IsNullTest {
private final Matcher<Object> nullMatcher = nullValue();
private final Matcher<Object> notNullMatcher = notNullValue();
@Test public void
copesWithNullsAndUnknownTypes() {
assertNullSafe(nullMatcher);
assertUnknownTypeSafe(nullMatcher);
assertNullSafe(notNullMatcher);
assertUnknownTypeSafe(notNullMatcher);
}
@Test public void
evaluatesToTrueIfArgumentIsNull() {
assertMatches(nullMatcher, null);
assertDoesNotMatch(nullMatcher, new Object());
assertMatches(notNullMatcher, new Object());
assertDoesNotMatch(notNullMatcher, null);
}
@Test public void
supportsStaticTyping() {
requiresStringMatcher(nullValue(String.class));
requiresStringMatcher(notNullValue(String.class));
}
private void requiresStringMatcher(@SuppressWarnings("unused") Matcher<String> arg) {
// no-op
}
}