| 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 |
| } |
| } |