summaryrefslogtreecommitdiff
path: root/app/src/androidTest/java/de/test/antennapod/NthMatcher.java
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2018-11-11 11:01:24 +0100
committerGitHub <noreply@github.com>2018-11-11 11:01:24 +0100
commit68b245701e2ff11f23d2bdf1145e8189dc3709ac (patch)
tree7151841c70014c2391bc2c0637ee7f894ff60ad5 /app/src/androidTest/java/de/test/antennapod/NthMatcher.java
parentc0a658da321a532891551372ddd7285bb2eacc8f (diff)
parent168b41a825c355d4874f7ccb06391395f1486c81 (diff)
downloadAntennaPod-68b245701e2ff11f23d2bdf1145e8189dc3709ac.zip
Merge pull request #2870 from ByteHamster/tests-fix
Updated tests
Diffstat (limited to 'app/src/androidTest/java/de/test/antennapod/NthMatcher.java')
-rw-r--r--app/src/androidTest/java/de/test/antennapod/NthMatcher.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/NthMatcher.java b/app/src/androidTest/java/de/test/antennapod/NthMatcher.java
new file mode 100644
index 000000000..f9ecacda5
--- /dev/null
+++ b/app/src/androidTest/java/de/test/antennapod/NthMatcher.java
@@ -0,0 +1,38 @@
+package de.test.antennapod;
+
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class NthMatcher {
+ public static <T> Matcher<T> first(final Matcher<T> matcher) {
+ return nth(matcher, 1);
+ }
+
+ public static <T> Matcher<T> second(final Matcher<T> matcher) {
+ return nth(matcher, 2);
+ }
+
+ private static <T> Matcher<T> nth(final Matcher<T> matcher, final int index) {
+ return new BaseMatcher<T>() {
+ AtomicInteger count = new AtomicInteger(0);
+
+ @Override
+ public boolean matches(final Object item) {
+ if (matcher.matches(item)) {
+ if (count.incrementAndGet() == index) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public void describeTo(final Description description) {
+ description.appendText("should return first matching item");
+ }
+ };
+ }
+}