1 package org.hamcrest.core; 2 3 import org.hamcrest.Matcher; 4 import org.junit.Test; 5 6 import static org.hamcrest.AbstractMatcherTest.*; 7 import static org.hamcrest.core.IsEqual.equalTo; 8 import static org.hamcrest.core.IsInstanceOf.instanceOf; 9 import static org.hamcrest.core.IsNot.not; 10 11 public final class IsNotTest { 12 13 @Test public void 14 copesWithNullsAndUnknownTypes() { 15 Matcher<String> matcher = not("something"); 16 17 assertNullSafe(matcher); 18 assertUnknownTypeSafe(matcher); 19 } 20 21 @Test public void 22 evaluatesToTheTheLogicalNegationOfAnotherMatcher() { 23 final Matcher<String> matcher = not(equalTo("A")); 24 25 assertMatches(matcher, "B"); 26 assertDoesNotMatch(matcher, "A"); 27 } 28 29 @Test public void 30 providesConvenientShortcutForNotEqualTo() { 31 final Matcher<String> matcher = not("A"); 32 33 assertMatches(matcher, "B"); 34 assertDoesNotMatch(matcher, "A"); 35 } 36 37 @Test public void 38 usesDescriptionOfNegatedMatcherWithPrefix() { 39 assertDescription("not an instance of java.lang.String", not(instanceOf(String.class))); 40 assertDescription("not \"A\"", not("A")); 41 } 42 } 43