summaryrefslogtreecommitdiff
path: root/src/instrumentationTest/de/test/antennapod/storage/DBTestUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/instrumentationTest/de/test/antennapod/storage/DBTestUtils.java')
-rw-r--r--src/instrumentationTest/de/test/antennapod/storage/DBTestUtils.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/instrumentationTest/de/test/antennapod/storage/DBTestUtils.java b/src/instrumentationTest/de/test/antennapod/storage/DBTestUtils.java
new file mode 100644
index 000000000..fbb7b0386
--- /dev/null
+++ b/src/instrumentationTest/de/test/antennapod/storage/DBTestUtils.java
@@ -0,0 +1,56 @@
+package instrumentationTest.de.test.antennapod.storage;
+
+import android.content.Context;
+import de.danoeh.antennapod.feed.Feed;
+import de.danoeh.antennapod.feed.FeedItem;
+import de.danoeh.antennapod.feed.FeedMedia;
+import de.danoeh.antennapod.storage.PodDBAdapter;
+import de.danoeh.antennapod.util.comparator.FeedItemPubdateComparator;
+import junit.framework.Assert;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Utility methods for DB* tests.
+ */
+public class DBTestUtils {
+
+ public static List<Feed> saveFeedlist(Context context, int numFeeds, int numItems, boolean withMedia) {
+ if (numFeeds <= 0) {
+ throw new IllegalArgumentException("numFeeds<=0");
+ }
+ if (numItems < 0) {
+ throw new IllegalArgumentException("numItems<0");
+ }
+
+ List<Feed> feeds = new ArrayList<Feed>();
+ PodDBAdapter adapter = new PodDBAdapter(context);
+ adapter.open();
+ for (int i = 0; i < numFeeds; i++) {
+ Feed f = new Feed(0, new Date(), "feed " + i, "link" + i, "descr", null, null,
+ null, null, "id" + i, null, null, "url" + i, false);
+ f.setItems(new ArrayList<FeedItem>());
+ for (int j = 0; j < numItems; j++) {
+ FeedItem item = new FeedItem(0, "item " + j, "id" + j, "link" + j, new Date(),
+ true, f);
+ if (withMedia) {
+ FeedMedia media = new FeedMedia(item, "url" + j, 1, "audio/mp3");
+ item.setMedia(media);
+ }
+ f.getItems().add(item);
+ }
+ Collections.sort(f.getItems(), new FeedItemPubdateComparator());
+ adapter.setCompleteFeed(f);
+ Assert.assertTrue(f.getId() != 0);
+ for (FeedItem item : f.getItems()) {
+ Assert.assertTrue(item.getId() != 0);
+ }
+ feeds.add(f);
+ }
+ adapter.close();
+ return feeds;
+ }
+}