diff options
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.java | 50 |
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()); + } + } + } +} |