use of org.hamcrest.Description in project byte-buddy by raphw.
the class AgentBuilderRedefinitionStrategyResubmissionStrategyTest method testRedefinition.
@Test
@SuppressWarnings("unchecked")
public void testRedefinition() throws Exception {
when(instrumentation.isModifiableClass(Foo.class)).thenReturn(true);
when(redefinitionBatchAllocator.batch(Mockito.any(List.class))).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
return Collections.singleton(invocationOnMock.getArgumentAt(0, List.class));
}
});
when(rawMatcher.matches(new TypeDescription.ForLoadedType(Foo.class), Foo.class.getClassLoader(), JavaModule.ofType(Foo.class), Foo.class, Foo.class.getProtectionDomain())).thenReturn(true);
when(matcher.matches(error)).thenReturn(true);
when(resubmissionScheduler.isAlive()).thenReturn(true);
ClassFileLocator classFileLocator = mock(ClassFileLocator.class);
when(locationStrategy.classFileLocator(Foo.class.getClassLoader(), JavaModule.ofType(Foo.class))).thenReturn(classFileLocator);
when(classFileLocator.locate(Foo.class.getName())).thenReturn(new ClassFileLocator.Resolution.Explicit(new byte[] { 1, 2, 3 }));
AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Installation installation = new AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Enabled(resubmissionScheduler, matcher).install(instrumentation, locationStrategy, listener, installationListener, circularityLock, rawMatcher, AgentBuilder.RedefinitionStrategy.REDEFINITION, redefinitionBatchAllocator, redefinitionListener);
installation.getInstallationListener().onInstall(instrumentation, classFileTransformer);
installation.getListener().onError(Foo.class.getName(), Foo.class.getClassLoader(), JavaModule.ofType(Foo.class), false, error);
ArgumentCaptor<Runnable> argumentCaptor = ArgumentCaptor.forClass(Runnable.class);
verify(resubmissionScheduler).isAlive();
verify(resubmissionScheduler).schedule(argumentCaptor.capture());
argumentCaptor.getValue().run();
verifyNoMoreInteractions(resubmissionScheduler);
verify(instrumentation).isModifiableClass(Foo.class);
verify(instrumentation).redefineClasses(Mockito.argThat(new BaseMatcher<ClassDefinition[]>() {
@Override
public boolean matches(Object o) {
return ((ClassDefinition) o).getDefinitionClass() == Foo.class && Arrays.equals(((ClassDefinition) o).getDefinitionClassFile(), new byte[] { 1, 2, 3 });
}
@Override
public void describeTo(Description description) {
}
}));
verifyNoMoreInteractions(instrumentation);
verify(rawMatcher).matches(new TypeDescription.ForLoadedType(Foo.class), Foo.class.getClassLoader(), JavaModule.ofType(Foo.class), Foo.class, Foo.class.getProtectionDomain());
verifyNoMoreInteractions(rawMatcher);
verify(redefinitionBatchAllocator).batch(Collections.<Class<?>>singletonList(Foo.class));
verifyNoMoreInteractions(redefinitionBatchAllocator);
verify(listener).onError(Foo.class.getName(), Foo.class.getClassLoader(), JavaModule.ofType(Foo.class), false, error);
verifyNoMoreInteractions(listener);
verify(matcher).matches(error);
verifyNoMoreInteractions(matcher);
}
use of org.hamcrest.Description in project gocd by gocd.
the class GoConfigServiceTest method isAPipelineSelectionsInstanceWith.
private Matcher<PipelineSelections> isAPipelineSelectionsInstanceWith(final boolean isBlacklist, final String... pipelineSelectionsInInstance) {
return new BaseMatcher<PipelineSelections>() {
public boolean matches(Object o) {
PipelineSelections pipelineSelections = (PipelineSelections) o;
assertThat(pipelineSelections.isBlacklist(), is(isBlacklist));
List<String> expectedSelectionsAsList = Arrays.asList(pipelineSelectionsInInstance);
assertEquals(pipelineSelections.getSelections(), ListUtil.join(expectedSelectionsAsList, ","));
return true;
}
public void describeTo(Description description) {
}
};
}
use of org.hamcrest.Description in project querydsl by querydsl.
the class PathMatcherTest method mismatch.
@Test
public void mismatch() {
Car car = new Car();
car.setHorsePower(123);
Description mismatchDescription = new StringDescription();
hasValue($.horsePower, equalTo(321)).describeMismatch(car, mismatchDescription);
assertEquals("value \"car.horsePower\" was <123>", mismatchDescription.toString());
}
use of org.hamcrest.Description in project JsonPath by jayway.
the class IsJsonFileTest method shouldDescribeMismatchOfValidJson.
@Test
public void shouldDescribeMismatchOfValidJson() {
Matcher<File> matcher = isJsonFile(withPathEvaluatedTo(true));
Description description = new StringDescription();
matcher.describeMismatch(BOOKS_JSON, description);
assertThat(description.toString(), containsString(MISMATCHED_TEXT));
}
use of org.hamcrest.Description in project JsonPath by jayway.
the class IsJsonStringTest method shouldDescribeMismatchOfValidJson.
@Test
public void shouldDescribeMismatchOfValidJson() {
Matcher<String> matcher = isJsonString(withPathEvaluatedTo(true));
Description description = new StringDescription();
matcher.describeMismatch(BOOKS_JSON, description);
assertThat(description.toString(), containsString(MISMATCHED_TEXT));
}
Aggregations