Java 类org.hamcrest.TypeSafeMatcher 实例源码
项目:TurboChat
文件:ProfileActivityNavigationTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:SimpleMarkdown
文件:AutosaveTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:espresso-support
文件:AccessibilityViewMatchers.java
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
public static Matcher<? super View> withUsageHintOnClick(final Matcher<? extends CharSequence> charSequenceMatcher) {
return new TypeSafeMatcher<View>() {
@Override
protected boolean matchesSafely(View view) {
if (!view.isClickable()) {
return false;
}
AccessibilityNodeInfo.AccessibilityAction clickAction = findAction(view, AccessibilityNodeInfo.ACTION_CLICK);
return charSequenceMatcher.matches(clickAction.getLabel());
}
@Override
public void describeTo(Description description) {
description.appendText("is clickable and has custom usage hint for ACTION_CLICK: ");
charSequenceMatcher.describeTo(description);
}
};
}
项目:privacyidea-authenticator
文件:MainActivityTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:GitHub
文件:TasksScreenTest.java
/**
* A custom {@link Matcher} which matches an item in a {@link ListView} by its text.
* <p>
* View constraints:
* <ul>
* <li>View must be a child of a {@link ListView}
* <ul>
*
* @param itemText the text to match
* @return Matcher that matches text in the given view
*/
private Matcher<View> withItemText(final String itemText) {
checkArgument(!TextUtils.isEmpty(itemText), "itemText cannot be null or empty");
return new TypeSafeMatcher<View>() {
@Override
public boolean matchesSafely(View item) {
return allOf(
isDescendantOfA(isAssignableFrom(ListView.class)),
withText(itemText)).matches(item);
}
@Override
public void describeTo(Description description) {
description.appendText("is isDescendantOfA LV with text " + itemText);
}
};
}
项目:rotabuilder
文件:EmployeeMenu_IntegTest.java
private static Matcher<? extends Throwable> causalChainContains(final Class<?> cls) {
return new TypeSafeMatcher<Throwable>() {
@Override
protected boolean matchesSafely(Throwable item) {
final List<Throwable> causalChain = Throwables.getCausalChain(item);
for (Throwable throwable : causalChain) {
if(cls.isAssignableFrom(throwable.getClass())){
return true;
}
}
return false;
}
@Override
public void describeTo(Description description) {
description.appendText("exception with causal chain containing " + cls.getSimpleName());
}
};
}
项目:frogment
文件:DefiningInitialFragmentWithState.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:TurboChat
文件:MainActivityLoadDataTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:frogment
文件:SimpleImplementationTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:raml-java-tools
文件:TypeNameMatcher.java
public static Matcher<TypeName> typeName(final Matcher<? super ClassName> matcher) {
final Matcher<? super ClassName> subMatcher = matcher;
return new TypeSafeMatcher<TypeName>() {
@Override
protected boolean matchesSafely(TypeName item) {
return subMatcher.matches(item);
}
@Override
public void describeTo(Description description) {
description.appendText("typename ").appendDescriptionOf(subMatcher);
}
};
}
项目:raml-java-tools
文件:AnnotationSpecMatchers.java
public static Matcher<AnnotationSpec> hasMember(final String member) {
return new TypeSafeMatcher<AnnotationSpec>() {
@Override
protected boolean matchesSafely(AnnotationSpec item) {
return item.members.containsKey(member);
}
@Override
public void describeTo(Description description) {
description.appendText("has member " + member);
}
};
}
项目:GreenfieldTemplate
文件:PlaylistActivityTest.java
public static Matcher<View> nthChildOf(final Matcher<View> parentMatcher, final int childPosition) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("with "+childPosition+" child view of type parentMatcher");
}
@Override
public boolean matchesSafely(View view) {
if (!(view.getParent() instanceof ViewGroup)) {
return parentMatcher.matches(view.getParent());
}
ViewGroup group = (ViewGroup) view.getParent();
return parentMatcher.matches(view.getParent()) && group.getChildAt(childPosition).equals(view);
}
};
}
项目:GreenfieldTemplate
文件:PlaylistActivityTest.java
/**
* Matches a view that is a descendant of the nth item in a recyclerview
* @param listMatcher
* @param childPosition
* @param subviewMatcher
* @return
*/
public static Matcher<View> subfieldOfNthItemWithId(final Matcher<View> listMatcher, final int childPosition, final Matcher<View> subviewMatcher) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Sub-view of an item from a list");
}
@Override
public boolean matchesSafely(View view) {
//
// Clearly "espresso + recyclerview != love"
//
return allOf(
isDescendantOfA(nthChildOf(listMatcher, childPosition)),
subviewMatcher
).matches(view);
}
};
}
项目:civify-app
文件:MainActivityTest.java
private static Matcher<View> childAtPosition(final Matcher<View> parentMatcher,
final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent) && view.equals(
((ViewGroup) parent).getChildAt(position));
}
};
}
项目:java-memory-assistant
文件:Matchers.java
public static Matcher<CharSequence> equalTo(final CharSequence expected) {
return new TypeSafeMatcher<CharSequence>() {
final Matcher<String> stringMatcher = org.hamcrest.Matchers.equalTo(expected.toString());
@Override
public void describeTo(final Description description) {
stringMatcher.describeTo(description);
}
@Override
protected boolean matchesSafely(final CharSequence actual) {
return stringMatcher.matches(actual.toString());
}
};
}
项目:civify-app
文件:LoginActivityTest.java
private static Matcher<View> childAtPosition(final Matcher<View> parentMatcher,
final int position) {
return new TypeSafeMatcher<View>() {
@Override public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent) && view.equals(
((ViewGroup) parent).getChildAt(position));
}
};
}
项目:elasticsearch_my
文件:TimeZoneRoundingTests.java
private static Matcher<Long> isDate(final long expected, DateTimeZone tz) {
return new TypeSafeMatcher<Long>() {
@Override
public boolean matchesSafely(final Long item) {
return expected == item.longValue();
}
@Override
public void describeTo(Description description) {
description.appendText("Expected: " + new DateTime(expected, tz) + " [" + expected + "] ");
}
@Override
protected void describeMismatchSafely(final Long actual, final Description mismatchDescription) {
mismatchDescription.appendText(" was ").appendValue(new DateTime(actual, tz) + " [" + actual + "]");
}
};
}
项目:mongol-library
文件:MainActivityTest2.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:mongol-library
文件:MainActivityTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:frogment
文件:SwitchingActivityTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:incubator-servicecomb-saga
文件:SagaEventFormatTest.java
private static Matcher<SagaRequest> eqToRequest(SagaRequest expected) {
return new TypeSafeMatcher<SagaRequest>() {
@Override
protected boolean matchesSafely(SagaRequest request) {
return expected.id().equals(request.id())
&& request.serviceName().equals(expected.serviceName())
&& request.task().equals(expected.task())
&& request.type().equals(expected.type())
&& ((RestOperation) request.transaction()).path().equals(((RestOperation) expected.transaction()).path())
&& ((RestOperation) request.transaction()).method().equals(((RestOperation) expected.transaction()).method())
&& ((RestOperation) request.compensation()).path().equals(((RestOperation) expected.compensation()).path())
&& ((RestOperation) request.compensation()).method().equals(((RestOperation) expected.compensation()).method());
}
@Override
public void describeTo(Description description) {
description.appendText(expected.toString());
}
};
}
项目:incubator-servicecomb-saga
文件:SagaSpringApplicationTestBase.java
private Matcher<SagaEventEntity> eventWith(
long eventId,
String type) {
return new TypeSafeMatcher<SagaEventEntity>() {
@Override
protected boolean matchesSafely(SagaEventEntity event) {
return eventId == event.id() && event.type().equals(type);
}
@Override
protected void describeMismatchSafely(SagaEventEntity item, Description mismatchDescription) {
mismatchDescription.appendText(item.toString());
}
@Override
public void describeTo(Description description) {
description.appendText(
"SagaEventEntity {"
+ "id=" + eventId
+ ", type=" + type);
}
};
}
项目:spring-cloud-release-tools
文件:SaganUpdaterTest.java
private TypeSafeMatcher<List<ReleaseUpdate>> withReleaseUpdate(final String version,
final String refDocUrl, final String releaseStatus) {
return new TypeSafeMatcher<List<ReleaseUpdate>>() {
@Override protected boolean matchesSafely(List<ReleaseUpdate> items) {
ReleaseUpdate item = items.get(0);
return "foo".equals(item.artifactId) &&
releaseStatus.equals(item.releaseStatus) &&
version.equals(item.version) &&
refDocUrl.equals(item.apiDocUrl) &&
refDocUrl.equals(item.refDocUrl);
}
@Override public void describeTo(Description description) {
}
};
}
项目:ChimpCheck
文件:MatchWithIndex.java
public static Matcher<View> withIndex(final Matcher<View> matcher, final int index) {
return new TypeSafeMatcher<View>() {
int currentIndex = 0;
@Override
public void describeTo(Description description) {
description.appendText("with index: ");
description.appendValue(index);
matcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
return matcher.matches(view) && currentIndex++ == index;
}
};
}
项目:ChimpCheck
文件:ViewID.java
public static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:frogment
文件:BackStackTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:ChimpCheck
文件:ActivityManager.java
public static Matcher<View> validPosition() {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("not supports input methods");
}
@Override
public boolean matchesSafely(View view) {
// At first glance, it would make sense to use view.onCheckIsTextEditor, but the android
// javadoc is wishy-washy about whether authors are required to implement this method when
// implementing onCreateInputConnection.
return view.getX() != 0 || view.getY() != 0;
}
};
}
项目:mod-circulation-storage
文件:TextDateTimeMatcher.java
public static Matcher<String> equivalentTo(DateTime expected) {
return new TypeSafeMatcher<String>() {
@Override
public void describeTo(Description description) {
description.appendText(String.format(
"a date time matching: %s", expected.toString()));
}
@Override
protected boolean matchesSafely(String textRepresentation) {
//response representation might vary from request representation
DateTime actual = DateTime.parse(textRepresentation);
return expected.isEqual(actual);
}
};
}
项目:mod-circulation-storage
文件:TextDateTimeMatcher.java
public static Matcher<String> withinSecondsAfter(Seconds seconds, DateTime after) {
return new TypeSafeMatcher<String>() {
@Override
public void describeTo(Description description) {
description.appendText(String.format(
"a date time within %s seconds after %s",
seconds.getSeconds(), after.toString()));
}
@Override
protected boolean matchesSafely(String textRepresentation) {
//response representation might vary from request representation
DateTime actual = DateTime.parse(textRepresentation);
return actual.isAfter(after) &&
Seconds.secondsBetween(after, actual).isLessThan(seconds);
}
};
}
项目:mod-circulation-storage
文件:JsonObjectMatchers.java
public static Matcher<JsonObject> identifierMatches(String namespace, String value) {
return new TypeSafeMatcher<JsonObject>() {
@Override
public void describeTo(Description description) {
description.appendText(String.format(
"an identifier with namespace: %s and value: %s", namespace, value));
}
@Override
protected boolean matchesSafely(JsonObject entry) {
return entry.getString("namespace").equals(namespace)
&& entry.getString("value").equals(value);
}
};
}
项目:mod-circulation-storage
文件:JsonObjectMatchers.java
public static Matcher<JsonObject> validationErrorMatches(String message, String property) {
return new TypeSafeMatcher<JsonObject>() {
@Override
public void describeTo(Description description) {
description.appendText(String.format(
"a validation error message: %s for property: %s", message, property));
}
@Override
protected boolean matchesSafely(JsonObject entry) {
List<JsonObject> parameters = JsonArrayHelper.toList(
entry.getJsonArray("parameters"));
return entry.getString("message").equals(message) &&
parameters.stream().anyMatch(p -> p.getString("key").equals(property));
}
};
}
项目:mod-circulation-storage
文件:JsonObjectMatchers.java
public static Matcher<List<JsonObject>> hasSoleMessgeContaining(String message) {
return new TypeSafeMatcher<List<JsonObject>>() {
@Override
public void describeTo(Description description) {
description.appendText(String.format(
"a sole validation error message containing: %s", message));
}
@Override
protected boolean matchesSafely(List<JsonObject> errors) {
if(errors.size() == 1) {
return errors.get(0).getString("message").contains(message);
}
else
return false;
}
};
}
项目:nges
文件:EventStoreITest.java
static private <T> Matcher<List<T>> consistsOfConsistentBlocks(int blocks, int itemsInBlock) {
return new TypeSafeMatcher<List<T>>() {
@Override
public void describeTo(Description description) {
description.appendText(blocks + " consistent blocks of size " + itemsInBlock);
}
@Override
protected boolean matchesSafely(List<T> item) {
T value = null;
for (int i = 0; i < 30; i++) {
if (i % 3 == 0) {
value = item.get(i);
} else {
if (!item.get(i).equals(value)) {
return false;
}
}
}
return true;
}
};
}
项目:connection-scan
文件:DefaultUsedJourneysTest.java
private static Matcher<UsedJourneys> used(Journey journey) {
return new TypeSafeMatcher<UsedJourneys>() {
@Override
public void describeTo(Description description) {
description.appendText("used");
description.appendValue(journey);
}
@Override
protected boolean matchesSafely(UsedJourneys journeys) {
return journeys.used(journey);
}
@Override
protected void describeMismatchSafely(UsedJourneys item, Description mismatchDescription) {
mismatchDescription.appendText("not used");
mismatchDescription.appendValue(journey);
}
};
}
项目:frogment
文件:FragmentStateTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:frogment
文件:FragmentSwitchingFromActivityTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:MathView
文件:MainActivityTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position
) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:frogment
文件:FragmentSwitchingFromFragmentTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}
项目:disclosure-android-app
文件:TextInputLayoutMatchers.java
public static Matcher<View> hasTextInputLayoutErrorText() {
return new TypeSafeMatcher<View>() {
@Override
public boolean matchesSafely(View view) {
if (!(view instanceof TextInputLayout)) {
return false;
}
CharSequence error = ((TextInputLayout) view).getError();
return error != null && error.length() > 0;
}
@Override
public void describeTo(Description description) {
description.appendText("Expected: TextInputLayout to have error, but was null or empty'");
}
};
}
项目:TurboChat
文件:TeamActivityStartTest.java
private static Matcher<View> childAtPosition(
final Matcher<View> parentMatcher, final int position) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Child at position " + position + " in parent ");
parentMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
ViewParent parent = view.getParent();
return parent instanceof ViewGroup && parentMatcher.matches(parent)
&& view.equals(((ViewGroup) parent).getChildAt(position));
}
};
}