use of org.hamcrest.BaseMatcher in project BuildRadiator by BuildRadiator.
the class HasNewRadiator method captureCreatedRadiator.
public static BaseMatcher<String> captureCreatedRadiator(CreatedRadiator createdRadiator) {
return new BaseMatcher<String>() {
@Override
public boolean matches(Object o) {
try {
CreatedRadiator cr = new ObjectMapper().readValue((String) o, CreatedRadiator.class);
createdRadiator.code = cr.code;
createdRadiator.secret = cr.secret;
} catch (IOException e) {
fail("IOE encountered " + e.getMessage());
}
return true;
}
@Override
public void describeTo(Description description) {
}
};
}
use of org.hamcrest.BaseMatcher in project jetty.project by eclipse.
the class FileSystemResourceTest method isAliasFor.
private Matcher<Resource> isAliasFor(final Resource resource) {
return new BaseMatcher<Resource>() {
@Override
public boolean matches(Object item) {
final Resource ritem = (Resource) item;
final URI alias = ritem.getAlias();
if (alias == null) {
return ritem == null;
} else {
return alias.equals(resource.getURI());
}
}
@Override
public void describeTo(Description description) {
description.appendText("getAlias should return ").appendValue(resource.getURI());
}
@Override
public void describeMismatch(Object item, Description description) {
description.appendText("was ").appendValue(((Resource) item).getAlias());
}
};
}
use of org.hamcrest.BaseMatcher in project gocd by gocd.
the class GoConfigServiceTest method hasValues.
private Matcher<PipelineSelections> hasValues(final List<String> isVisible, final List<String> isNotVisible, final Date today, final Long userId) {
return new BaseMatcher<PipelineSelections>() {
public boolean matches(Object o) {
PipelineSelections pipelineSelections = (PipelineSelections) o;
assertHasSelected(pipelineSelections, isVisible);
assertHasSelected(pipelineSelections, isNotVisible, false);
assertThat(pipelineSelections.lastUpdated(), is(today));
assertThat(pipelineSelections.userId(), is(userId));
return true;
}
public void describeTo(Description description) {
}
};
}
use of org.hamcrest.BaseMatcher in project iosched by google.
the class MatchersHelper method approximateTimeUriMatcher.
/**
* Some {@link Uri} include specific times, for example all sessions after a given time. Even
* though time can be set in tests, {@link com.google.samples.apps.iosched.util.TimeUtils
* .getCurrentTime()} takes into account the passage of time so two separate calls to it will
* return slightly different values. This matcher applies an approximation of 10 seconds.
* <p/>
* Note: it assumes the time portion of the {@link Uri} is the last segment.
*/
public static Matcher<Uri> approximateTimeUriMatcher(final Uri expectedUri) {
return new BaseMatcher<Uri>() {
@Override
public void describeTo(final Description description) {
description.appendText("approximateTimeUriMatcher");
}
@Override
public boolean matches(final Object item) {
if (item instanceof Uri) {
Uri actualUri = (Uri) item;
// Check the last segment is a time
long expectedTime = 0L;
long actualTime = 0L;
try {
expectedTime = Long.parseLong(expectedUri.getLastPathSegment());
} catch (NumberFormatException e) {
return false;
}
try {
actualTime = Long.parseLong(actualUri.getLastPathSegment());
} catch (NumberFormatException e) {
return false;
}
// If the times are within 10 seconds of each other, check other segments
if (Math.abs(actualTime - expectedTime) < TimeUtils.SECOND * 10) {
List<String> actualSegments = actualUri.getPathSegments();
List<String> expectedSegments = expectedUri.getPathSegments();
// If same number of segments
if (actualSegments.size() == expectedSegments.size()) {
boolean diffFound = false;
// Check each segment except the last
for (int i = 0; i < actualSegments.size() - 1; i++) {
if (!actualSegments.get(i).equals(expectedSegments.get(i))) {
diffFound = true;
}
}
// They match only if no differences were found
return !diffFound;
}
}
}
return false;
}
@Override
public void describeMismatch(final Object item, final Description mismatchDescription) {
mismatchDescription.appendText("item doesn't match uri " + expectedUri + " with an approximataion of 10 seconds for the last time segment");
}
};
}
use of org.hamcrest.BaseMatcher 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));
}
});
}
Aggregations