diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2018-11-11 11:01:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-11 11:01:24 +0100 |
commit | 68b245701e2ff11f23d2bdf1145e8189dc3709ac (patch) | |
tree | 7151841c70014c2391bc2c0637ee7f894ff60ad5 /app/src/androidTest/java/de/test/antennapod/NthMatcher.java | |
parent | c0a658da321a532891551372ddd7285bb2eacc8f (diff) | |
parent | 168b41a825c355d4874f7ccb06391395f1486c81 (diff) | |
download | AntennaPod-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.java | 38 |
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"); + } + }; + } +} |