use of org.hamcrest.Description in project gradle by gradle.
the class LoggingTest method expectLogMessage.
private void expectLogMessage(final LogLevel level, final String text) {
final Matcher<LogEvent> matcher = new BaseMatcher<LogEvent>() {
public void describeTo(Description description) {
description.appendText("level: ").appendValue(level).appendText(", text:").appendValue(text);
}
public boolean matches(Object o) {
LogEvent event = (LogEvent) o;
return event.getLogLevel() == level && event.getMessage().equals(text);
}
};
context.checking(new Expectations() {
{
one(outputEventListener).onOutput(with(matcher));
}
});
}
use of org.hamcrest.Description in project gradle by gradle.
the class FileCollectionMatchers method sameCollection.
@Factory
public static <T extends FileCollection> Matcher<T> sameCollection(final FileCollection expected) {
return new BaseMatcher<T>() {
public boolean matches(Object o) {
FileCollection actual = (FileCollection) o;
List<? extends FileCollection> actualCollections = unpack(actual);
List<? extends FileCollection> expectedCollections = unpack(expected);
boolean equals = actualCollections.equals(expectedCollections);
if (!equals) {
System.out.println("expected: " + expectedCollections);
System.out.println("actual: " + actualCollections);
}
return equals;
}
private List<? extends FileCollection> unpack(FileCollection expected) {
if (expected instanceof UnionFileCollection) {
UnionFileCollection collection = (UnionFileCollection) expected;
return new ArrayList<FileCollection>(collection.getSources());
}
if (expected instanceof DefaultConfigurableFileCollection) {
DefaultConfigurableFileCollection collection = (DefaultConfigurableFileCollection) expected;
return new ArrayList<FileCollection>((Set) collection.getFrom());
}
if (expected instanceof CompositeFileCollection) {
CompositeFileCollection collection = (CompositeFileCollection) expected;
DefaultFileCollectionResolveContext context = new DefaultFileCollectionResolveContext(TestFiles.resolver());
collection.visitContents(context);
return context.resolveAsFileCollections();
}
throw new RuntimeException("Cannot get children of " + expected);
}
public void describeTo(Description description) {
description.appendText("same file collection as ").appendValue(expected);
}
};
}
use of org.hamcrest.Description in project gradle by gradle.
the class DefaultDomainObjectCollectionTest method allCallsActionForEachNewObjectAddedByTheAction.
@Test
public void allCallsActionForEachNewObjectAddedByTheAction() {
@SuppressWarnings("unchecked") final Action<CharSequence> action = context.mock(Action.class);
context.checking(new Expectations() {
{
oneOf(action).execute("a");
will(new org.jmock.api.Action() {
public Object invoke(Invocation invocation) throws Throwable {
container.add("c");
return null;
}
public void describeTo(Description description) {
description.appendText("add 'c'");
}
});
oneOf(action).execute("b");
oneOf(action).execute("c");
}
});
container.add("a");
container.add("b");
container.all(action);
}
use of org.hamcrest.Description in project immutables by immutables.
the class ObjectChecker method fail.
static void fail(@Nullable Object actualValue, Matcher<?> matcher) {
Description description = new StringDescription().appendText("\nExpected: ").appendDescriptionOf(matcher).appendText("\n but: ");
matcher.describeMismatch(actualValue, description);
AssertionError assertionError = new AssertionError(description.toString());
assertionError.setStackTrace(ObjectChecker.trimStackTrace(assertionError.getStackTrace()));
throw assertionError;
}
use of org.hamcrest.Description in project JsonPath by jayway.
the class IsJsonFileTest method shouldDescribeMismatchOfInvalidJson.
@Test
public void shouldDescribeMismatchOfInvalidJson() {
Matcher<File> matcher = isJsonFile(withPathEvaluatedTo(true));
Description description = new StringDescription();
matcher.describeMismatch(INVALID_JSON, description);
assertThat(description.toString(), containsString("invalid.json"));
assertThat(description.toString(), containsString("invalid-json"));
}
Aggregations