blob: 5c76af903418b2fc0e0a5a606aa30138d5de034a [file] [log] [blame]
package org.hamcrest.core;
import org.hamcrest.Matcher;
import org.junit.Test;
import static org.hamcrest.AbstractMatcherTest.*;
import static org.hamcrest.core.DescribedAs.describedAs;
import static org.hamcrest.core.IsAnything.anything;
import static org.hamcrest.core.IsEqual.equalTo;
public final class DescribedAsTest {
@Test public void
copesWithNullsAndUnknownTypes() {
Matcher<Object> matcher = describedAs("irrelevant", anything());
assertNullSafe(matcher);
assertUnknownTypeSafe(matcher);
}
@Test public void
overridesDescriptionOfOtherMatcherWithThatPassedToConstructor() {
Matcher<?> matcher = describedAs("my description", anything());
assertDescription("my description", matcher);
}
@Test public void
appendsValuesToDescription() {
Matcher<?> matcher = describedAs("value 1 = %0, value 2 = %1", anything(), 33, 97);
assertDescription("value 1 = <33>, value 2 = <97>", matcher);
}
@Test public void
celegatesMatchingToAnotherMatcher() {
Matcher<String> matcher = describedAs("irrelevant", equalTo("hi"));
assertMatches(matcher, "hi");
assertDoesNotMatch("matched", matcher, "oi");
}
@Test public void
delegatesMismatchDescriptionToAnotherMatcher() {
Matcher<Integer> matcher = describedAs("irrelevant", equalTo(2));
assertMismatchDescription("was <1>", matcher, 1);
}
}