summaryrefslogtreecommitdiff
path: root/app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java
diff options
context:
space:
mode:
authorTom Hennen <TomHennen@users.noreply.github.com>2015-10-08 01:52:27 -0400
committerTom Hennen <TomHennen@users.noreply.github.com>2015-10-08 01:52:27 -0400
commit95cc133e0acde834a425ca35381aedde27390433 (patch)
treeed0748a3fad19ca5714c22a1cd8829455e3fd855 /app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java
parent57b8ced16e36f1f3dcf980ddba3ee9c807cf4dc6 (diff)
parent07bcdb167b7e6d448be514460ec259cba29a5a41 (diff)
downloadAntennaPod-95cc133e0acde834a425ca35381aedde27390433.zip
Merge pull request #1241 from TomHennen/cleanup_algorithm
Cleanup algorithm updates
Diffstat (limited to 'app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java')
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java
new file mode 100644
index 000000000..890897f43
--- /dev/null
+++ b/app/src/androidTest/java/de/test/antennapod/storage/DBQueueCleanupAlgorithmTest.java
@@ -0,0 +1,50 @@
+package de.test.antennapod.storage;
+
+import android.test.FlakyTest;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import de.danoeh.antennapod.core.feed.Feed;
+import de.danoeh.antennapod.core.feed.FeedItem;
+import de.danoeh.antennapod.core.preferences.UserPreferences;
+import de.danoeh.antennapod.core.storage.DBTasks;
+
+/**
+ * Tests that the APQueueCleanupAlgorithm is working correctly.
+ */
+public class DBQueueCleanupAlgorithmTest extends DBCleanupTests {
+
+ private static final String TAG = "DBQueueCleanupAlgorithmTest";
+
+ public DBQueueCleanupAlgorithmTest() {
+ super(UserPreferences.EPISODE_CLEANUP_QUEUE);
+ }
+
+ /**
+ * For APQueueCleanupAlgorithm we expect even unplayed episodes to be deleted if needed
+ * if they aren't in the queue
+ */
+ @FlakyTest(tolerance = 3)
+ public void testPerformAutoCleanupHandleUnplayed() throws IOException {
+ final int NUM_ITEMS = EPISODE_CACHE_SIZE * 2;
+
+ Feed feed = new Feed("url", new Date(), "title");
+ List<FeedItem> items = new ArrayList<>();
+ feed.setItems(items);
+ List<File> files = new ArrayList<>();
+ populateItems(NUM_ITEMS, feed, items, files, FeedItem.UNPLAYED, false, false);
+
+ DBTasks.performAutoCleanup(context);
+ for (int i = 0; i < files.size(); i++) {
+ if (i < EPISODE_CACHE_SIZE) {
+ assertTrue(files.get(i).exists());
+ } else {
+ assertFalse(files.get(i).exists());
+ }
+ }
+ }
+}