diff options
Diffstat (limited to 'core/src/androidTest')
9 files changed, 22 insertions, 296 deletions
diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/AntennaPodTestRunner.java b/core/src/androidTest/java/de/danoeh/antennapod/core/AntennaPodTestRunner.java index 78e854b41..5d086c054 100644 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/AntennaPodTestRunner.java +++ b/core/src/androidTest/java/de/danoeh/antennapod/core/AntennaPodTestRunner.java @@ -1,4 +1,4 @@ -package de.danoeh.antennapod.core.tests; +package de.danoeh.antennapod.core; import android.test.InstrumentationTestRunner; import android.test.suitebuilder.TestSuiteBuilder; diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedImageMother.java b/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedImageMother.java deleted file mode 100644 index 0fb4992ba..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedImageMother.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.danoeh.antennapod.core.feed; - -class FeedImageMother { - - public static FeedImage anyFeedImage() { - return new FeedImage(0, "image", null, "http://example.com/picture", false); - } - -} diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedItemMother.java b/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedItemMother.java deleted file mode 100644 index 3d7c4fe5f..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedItemMother.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.danoeh.antennapod.core.feed; - -import java.util.Date; - -import static de.danoeh.antennapod.core.feed.FeedImageMother.anyFeedImage; -import static de.danoeh.antennapod.core.feed.FeedMother.anyFeed; - -class FeedItemMother { - - static FeedItem anyFeedItemWithImage() { - FeedItem item = new FeedItem(0, "Item", "Item", "url", new Date(), FeedItem.PLAYED, anyFeed()); - item.setImage(anyFeedImage()); - return item; - } - -} diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedItemTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedItemTest.java deleted file mode 100644 index 9e12e8ae0..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedItemTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package de.danoeh.antennapod.core.feed; - -import android.test.AndroidTestCase; - -import static de.danoeh.antennapod.core.feed.FeedItemMother.anyFeedItemWithImage; - -public class FeedItemTest extends AndroidTestCase { - - private FeedItem original; - private FeedImage originalImage; - private FeedItem changedFeedItem; - - @Override - protected void setUp() { - original = anyFeedItemWithImage(); - originalImage = original.getImage(); - changedFeedItem = anyFeedItemWithImage(); - } - - public void testUpdateFromOther_feedItemImageDownloadUrlChanged() throws Exception { - setNewFeedItemImageDownloadUrl(); - - original.updateFromOther(changedFeedItem); - - feedItemImageWasUpdated(); - } - - public void testUpdateFromOther_feedItemImageRemoved() throws Exception { - feedItemImageRemoved(); - - original.updateFromOther(changedFeedItem); - - feedItemImageWasNotUpdated(); - } - - public void testUpdateFromOther_feedItemImageAdded() throws Exception { - feedItemHadNoImage(); - setNewFeedItemImageDownloadUrl(); - - original.updateFromOther(changedFeedItem); - - feedItemImageWasUpdated(); - } - - private void feedItemHadNoImage() { - original.setImage(null); - } - - private void setNewFeedItemImageDownloadUrl() { - changedFeedItem.getImage().setDownload_url("http://example.com/new_picture"); - } - - private void feedItemImageRemoved() { - changedFeedItem.setImage(null); - } - - private void feedItemImageWasUpdated() { - assertEquals(original.getImage().getDownload_url(), changedFeedItem.getImage().getDownload_url()); - } - - private void feedItemImageWasNotUpdated() { - assertTrue(originalImage == original.getImage()); - } - -}
\ No newline at end of file diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedMother.java b/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedMother.java deleted file mode 100644 index fecc8e377..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedMother.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.danoeh.antennapod.core.feed; - -import static de.danoeh.antennapod.core.feed.FeedImageMother.anyFeedImage; - -class FeedMother { - - public static Feed anyFeed() { - FeedImage image = anyFeedImage(); - return new Feed(0, null, "title", "http://example.com", "This is the description", - "http://example.com/payment", "Daniel", "en", null, "http://example.com/feed", image, - null, "http://example.com/feed", true); - } - -} diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedTest.java deleted file mode 100644 index 8067ec93f..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/feed/FeedTest.java +++ /dev/null @@ -1,92 +0,0 @@ -package de.danoeh.antennapod.core.feed; - -import android.test.AndroidTestCase; - -import static de.danoeh.antennapod.core.feed.FeedImageMother.anyFeedImage; -import static de.danoeh.antennapod.core.feed.FeedMother.anyFeed; - -public class FeedTest extends AndroidTestCase { - - private Feed original; - private FeedImage originalImage; - private Feed changedFeed; - - @Override - protected void setUp() { - original = anyFeed(); - originalImage = original.getImage(); - changedFeed = anyFeed(); - } - - public void testCompareWithOther_feedImageDownloadUrlChanged() throws Exception { - setNewFeedImageDownloadUrl(); - - feedHasChanged(); - } - - public void testCompareWithOther_sameFeedImage() throws Exception { - changedFeed.setImage(anyFeedImage()); - - feedHasNotChanged(); - } - - public void testCompareWithOther_feedImageRemoved() throws Exception { - feedImageRemoved(); - - feedHasNotChanged(); - } - - public void testUpdateFromOther_feedImageDownloadUrlChanged() throws Exception { - setNewFeedImageDownloadUrl(); - - original.updateFromOther(changedFeed); - - feedImageWasUpdated(); - } - - public void testUpdateFromOther_feedImageRemoved() throws Exception { - feedImageRemoved(); - - original.updateFromOther(changedFeed); - - feedImageWasNotUpdated(); - } - - public void testUpdateFromOther_feedImageAdded() throws Exception { - feedHadNoImage(); - setNewFeedImageDownloadUrl(); - - original.updateFromOther(changedFeed); - - feedImageWasUpdated(); - } - - private void feedHasNotChanged() { - assertFalse(original.compareWithOther(changedFeed)); - } - - private void feedHadNoImage() { - original.setImage(null); - } - - private void setNewFeedImageDownloadUrl() { - changedFeed.getImage().setDownload_url("http://example.com/new_picture"); - } - - private void feedHasChanged() { - assertTrue(original.compareWithOther(changedFeed)); - } - - private void feedImageRemoved() { - changedFeed.setImage(null); - } - - private void feedImageWasUpdated() { - assertEquals(original.getImage().getDownload_url(), changedFeed.getImage().getDownload_url()); - } - - private void feedImageWasNotUpdated() { - assertTrue(originalImage == original.getImage()); - } - -}
\ No newline at end of file diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java deleted file mode 100644 index 50c2a9c3c..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package de.danoeh.antennapod.core.tests.util; - -import android.test.AndroidTestCase; - -import de.danoeh.antennapod.core.util.LongIntMap; - -public class LongLongMapTest extends AndroidTestCase { - - public void testEmptyMap() { - LongIntMap map = new LongIntMap(); - assertEquals(0, map.size()); - assertEquals("LongLongMap{}", map.toString()); - assertEquals(0, map.get(42)); - assertEquals(-1, map.get(42, -1)); - assertEquals(false, map.delete(42)); - assertEquals(-1, map.indexOfKey(42)); - assertEquals(-1, map.indexOfValue(42)); - assertEquals(1, map.hashCode()); - } - - public void testSingleElement() { - LongIntMap map = new LongIntMap(); - map.put(17, 42); - assertEquals(1, map.size()); - assertEquals("LongLongMap{17=42}", map.toString()); - assertEquals(42, map.get(17)); - assertEquals(42, map.get(17, -1)); - assertEquals(0, map.indexOfKey(17)); - assertEquals(0, map.indexOfValue(42)); - assertEquals(true, map.delete(17)); - } - - public void testAddAndDelete() { - LongIntMap map = new LongIntMap(); - for(int i=0; i < 100; i++) { - map.put(i * 17, i * 42); - } - assertEquals(100, map.size()); - assertEquals(0, map.get(0)); - assertEquals(42, map.get(17)); - assertEquals(42, map.get(17, -1)); - assertEquals(1, map.indexOfKey(17)); - assertEquals(1, map.indexOfValue(42)); - for(int i=0; i < 100; i++) { - assertEquals(true, map.delete(i * 17)); - } - } - - public void testOverwrite() { - LongIntMap map = new LongIntMap(); - map.put(17, 42); - assertEquals(1, map.size()); - assertEquals("LongLongMap{17=42}", map.toString()); - assertEquals(42, map.get(17)); - map.put(17, 23); - assertEquals(1, map.size()); - assertEquals("LongLongMap{17=23}", map.toString()); - assertEquals(23, map.get(17)); - } - -} diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/service/download/DownloadServiceTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/service/download/DownloadServiceTest.java deleted file mode 100644 index 94cfb3278..000000000 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/service/download/DownloadServiceTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package de.danoeh.antennapod.core.tests.util.service.download; - -import android.test.AndroidTestCase; - -import java.util.ArrayList; -import java.util.List; - -import de.danoeh.antennapod.core.feed.Feed; -import de.danoeh.antennapod.core.feed.FeedImage; -import de.danoeh.antennapod.core.feed.FeedItem; -import de.danoeh.antennapod.core.service.download.DownloadService; - -public class DownloadServiceTest extends AndroidTestCase { - - public void testRemoveDuplicateImages() { - List<FeedItem> items = new ArrayList<>(); - for (int i = 0; i < 50; i++) { - FeedItem item = new FeedItem(); - String url = (i % 5 == 0) ? "dupe_url" : String.format("url_%d", i); - item.setImage(new FeedImage(null, url, "")); - items.add(item); - } - Feed feed = new Feed(); - feed.setItems(items); - - DownloadService.removeDuplicateImages(feed); - - assertEquals(50, items.size()); - for (int i = 0; i < items.size(); i++) { - FeedItem item = items.get(i); - String want = (i == 0) ? "dupe_url" : (i % 5 == 0) ? null : String.format("url_%d", i); - assertEquals(want, item.getImageLocation()); - } - } -} diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/util/DateUtilsTest.java index ee90d9116..d5efdbc24 100644 --- a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java +++ b/core/src/androidTest/java/de/danoeh/antennapod/core/util/DateUtilsTest.java @@ -1,4 +1,4 @@ -package de.danoeh.antennapod.core.tests.util; +package de.danoeh.antennapod.core.util; import android.test.AndroidTestCase; @@ -7,8 +7,14 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; -import de.danoeh.antennapod.core.util.DateUtils; - +/** + * Unit test for {@link DateUtils}. + * + * Note: It NEEDS to be run in android devices, i.e., it cannot be run in standard JDK, because + * the test invokes some android platform-specific behavior in the underlying + * {@link java.text.SimpleDateFormat} used by {@link DateUtils}. + * + */ public class DateUtilsTest extends AndroidTestCase { public void testParseDateWithMicroseconds() throws Exception { @@ -101,6 +107,12 @@ public class DateUtilsTest extends AndroidTestCase { assertEquals(expected, actual); } + /** + * Requires Android platform. + * + * Reason: Standard JDK cannot parse timezone <code>-08:00</code> (ISO 8601 format). It only accepts + * <code>-0800</code> (RFC 822 format) + */ public void testParseDateWithNoTimezonePadding() throws Exception { GregorianCalendar exp = new GregorianCalendar(2017, 1, 22, 22, 28, 0); exp.setTimeZone(TimeZone.getTimeZone("UTC")); @@ -109,6 +121,12 @@ public class DateUtilsTest extends AndroidTestCase { assertEquals(expected, actual); } + /** + * Requires Android platform. Root cause: {@link DateUtils} implementation makes + * use of ISO 8601 time zone, which does not work on standard JDK. + * + * @see #testParseDateWithNoTimezonePadding() + */ public void testParseDateWithForCest() throws Exception { GregorianCalendar exp1 = new GregorianCalendar(2017, 0, 28, 22, 0, 0); exp1.setTimeZone(TimeZone.getTimeZone("UTC")); |