package org.hamcrest.text; import org.hamcrest.Matcher; import org.junit.Test; import static org.hamcrest.AbstractMatcherTest.*; import static org.hamcrest.text.IsBlankString.blankOrNullString; import static org.hamcrest.text.IsBlankString.blankString; public final class IsBlankStringTest { @Test public void copesWithNullsAndUnknownTypes() { Matcher<String> matcher = blankString(); assertNullSafe(matcher); assertUnknownTypeSafe(matcher); } @Test public void matchesEmptyString() { assertMatches(blankOrNullString(), ""); assertMatches(blankString(), ""); } @Test public void matchesNullAppropriately() { assertMatches(blankOrNullString(), null); assertDoesNotMatch(blankString(), null); } @Test public void matchesBlankStringAppropriately() { assertMatches(blankString(), " \t"); assertMatches(blankOrNullString(), " \t"); } @Test public void doesNotMatchFilledString() { assertDoesNotMatch(blankString(), "a"); assertDoesNotMatch(blankOrNullString(), "a"); } @Test public void describesItself() { assertDescription("a blank string", blankString()); assertDescription("(null or a blank string)", blankOrNullString()); } @Test public void describesAMismatch() { assertMismatchDescription("was \"a\"", blankString(), "a"); assertMismatchDescription("was \"a\"", blankOrNullString(), "a"); } }