Home | History | Annotate | Download | only in core
      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