| package org.hamcrest; |
| |
| import org.junit.Test; |
| |
| import static org.hamcrest.AbstractMatcherTest.*; |
| |
| public final class CustomTypeSafeMatcherTest { |
| private static final String STATIC_DESCRIPTION = "I match non empty strings"; |
| |
| private final Matcher<String> customMatcher = new CustomTypeSafeMatcher<String>(STATIC_DESCRIPTION) { |
| @Override |
| public boolean matchesSafely(String item) { |
| return false; |
| } |
| |
| @Override |
| public void describeMismatchSafely(String item, Description mismatchDescription) { |
| mismatchDescription.appendText("an " + item); |
| } |
| }; |
| |
| @Test public void |
| usesStaticDescription() throws Exception { |
| assertDescription(STATIC_DESCRIPTION, customMatcher); |
| } |
| |
| @Test public void |
| reportsMismatch() { |
| assertMismatchDescription("an item", customMatcher, "item"); |
| } |
| |
| @Test public void |
| isNullSafe() { |
| assertNullSafe(customMatcher); |
| } |
| |
| @Test public void |
| copesWithUnknownTypes() { |
| assertUnknownTypeSafe(customMatcher); |
| } |
| } |