use of org.hamcrest.TypeSafeMatcher in project neo4j by neo4j.
the class TransportTestUtil method eventuallyReceives.
public static Matcher<TransportConnection> eventuallyReceives(final Matcher<ResponseMessage>... messages) {
return new TypeSafeMatcher<TransportConnection>() {
@Override
protected boolean matchesSafely(TransportConnection conn) {
try {
for (Matcher<ResponseMessage> matchesMessage : messages) {
final ResponseMessage message = receiveOneResponseMessage(conn);
assertThat(message, matchesMessage);
}
return true;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void describeTo(Description description) {
description.appendValueList("Messages[", ",", "]", messages);
}
};
}
use of org.hamcrest.TypeSafeMatcher in project sonarqube by SonarSource.
the class ReportSubmitterTest method submit_a_report_on_existing_project.
@Test
public void submit_a_report_on_existing_project() {
ComponentDto project = db.components().insertProject(db.getDefaultOrganization());
userSession.logIn().addProjectUuidPermissions(SCAN_EXECUTION, project.uuid());
mockSuccessfulPrepareSubmitCall();
underTest.submit(defaultOrganizationKey, project.getKey(), null, project.name(), IOUtils.toInputStream("{binary}"));
verifyReportIsPersisted(TASK_UUID);
verifyZeroInteractions(permissionTemplateService);
verifyZeroInteractions(favoriteUpdater);
verify(queue).submit(argThat(new TypeSafeMatcher<CeTaskSubmit>() {
@Override
protected boolean matchesSafely(CeTaskSubmit submit) {
return submit.getType().equals(CeTaskTypes.REPORT) && submit.getComponentUuid().equals(project.uuid()) && submit.getUuid().equals(TASK_UUID);
}
@Override
public void describeTo(Description description) {
}
}));
}
use of org.hamcrest.TypeSafeMatcher in project sonarqube by SonarSource.
the class ReportSubmitterTest method provision_project_if_does_not_exist.
@Test
public void provision_project_if_does_not_exist() throws Exception {
OrganizationDto organization = db.organizations().insert();
userSession.addProjectUuidPermissions(SCAN_EXECUTION, PROJECT_UUID).addPermission(PROVISION_PROJECTS, organization);
mockSuccessfulPrepareSubmitCall();
ComponentDto createdProject = newProjectDto(organization, PROJECT_UUID).setKey(PROJECT_KEY);
when(componentUpdater.create(any(DbSession.class), any(NewComponent.class), eq(null))).thenReturn(createdProject);
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), eq(organization.getUuid()), anyInt(), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))).thenReturn(true);
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), eq(organization.getUuid()), any(ComponentDto.class))).thenReturn(true);
underTest.submit(organization.getKey(), PROJECT_KEY, null, PROJECT_NAME, IOUtils.toInputStream("{binary}"));
verifyReportIsPersisted(TASK_UUID);
verify(queue).submit(argThat(new TypeSafeMatcher<CeTaskSubmit>() {
@Override
protected boolean matchesSafely(CeTaskSubmit submit) {
return submit.getType().equals(CeTaskTypes.REPORT) && submit.getComponentUuid().equals(PROJECT_UUID) && submit.getUuid().equals(TASK_UUID);
}
@Override
public void describeTo(Description description) {
}
}));
}
use of org.hamcrest.TypeSafeMatcher in project double-espresso by JakeWharton.
the class AdapterViewTest method withAdaptedData.
private static Matcher<View> withAdaptedData(final Matcher<Object> dataMatcher) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("with class name: ");
dataMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
if (!(view instanceof AdapterView)) {
return false;
}
@SuppressWarnings("rawtypes") Adapter adapter = ((AdapterView) view).getAdapter();
for (int i = 0; i < adapter.getCount(); i++) {
if (dataMatcher.matches(adapter.getItem(i))) {
return true;
}
}
return false;
}
};
}
use of org.hamcrest.TypeSafeMatcher in project wire-android by wireapp.
the class CustomMatchers method guidedEditTextWithId.
/**
* Typing with regular {@link android.support.test.espresso.matcher.ViewMatchers#withId(int)} matchers won't work on a
* GuidedEditText (GET) because the GET hides the EditText which Espresso needs. This matcher searches for an edit
* text under a grandparent with the given id that has the type GET
* @param id the id of the GuidedEditText which we want to type (or perform other actions) into
* @return an Espresso compatible Matcher<View> for use in onView();
*/
public static Matcher<View> guidedEditTextWithId(final int id) {
return new TypeSafeMatcher<View>() {
Resources resources = null;
@Override
public void describeTo(Description description) {
String idDescription = Integer.toString(id);
if (resources != null) {
try {
idDescription = resources.getResourceName(id);
} catch (Resources.NotFoundException e) {
// No big deal, will just use the int value.
idDescription = String.format("%s (resource name not found)", id);
}
}
description.appendText("with id: " + idDescription);
}
@Override
public boolean matchesSafely(View view) {
resources = view.getResources();
GuidedEditText grandParent = getGrandParent(view);
return grandParent != null && id == grandParent.getId() && view instanceof TypefaceEditText;
}
private GuidedEditText getGrandParent(View view) {
ViewParent parent = view.getParent();
if (!(parent instanceof FrameLayout)) {
return null;
}
ViewParent grandParent = parent.getParent();
if (!(grandParent instanceof GuidedEditText)) {
return null;
}
return (GuidedEditText) grandParent;
}
};
}
Aggregations