summaryrefslogtreecommitdiff
path: root/core/src/test
diff options
context:
space:
mode:
authorHerbert Reiter <46045854+damoasda@users.noreply.github.com>2020-12-30 10:59:43 +0100
committerHerbert Reiter <46045854+damoasda@users.noreply.github.com>2020-12-30 10:59:43 +0100
commit90b8655ee92822387ff08b74a3ae8f3856f1556e (patch)
tree895c775672623e66ae2dcb6df33db07b7118136e /core/src/test
parentdcd40d4caca55b5fb85e4a9e8f958f3cc490448a (diff)
downloadAntennaPod-90b8655ee92822387ff08b74a3ae8f3856f1556e.zip
Run ExternalMediaTest with Robolectric
Diffstat (limited to 'core/src/test')
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/util/playback/ExternalMediaTest.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/core/src/test/java/de/danoeh/antennapod/core/util/playback/ExternalMediaTest.java b/core/src/test/java/de/danoeh/antennapod/core/util/playback/ExternalMediaTest.java
new file mode 100644
index 000000000..d5e63eeba
--- /dev/null
+++ b/core/src/test/java/de/danoeh/antennapod/core/util/playback/ExternalMediaTest.java
@@ -0,0 +1,56 @@
+package de.danoeh.antennapod.core.util.playback;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.SharedPreferences;
+import androidx.preference.PreferenceManager;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import de.danoeh.antennapod.core.feed.MediaType;
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Tests for {@link ExternalMedia} entity.
+ */
+@RunWith(RobolectricTestRunner.class)
+public class ExternalMediaTest {
+
+ private static final int NOT_SET = -1;
+ private static final int POSITION = 50;
+ private static final int LAST_PLAYED_TIME = 1650;
+
+ @After
+ public void tearDown() {
+ clearSharedPrefs();
+ }
+
+ @SuppressLint("CommitPrefEdits")
+ private void clearSharedPrefs() {
+ SharedPreferences prefs = getDefaultSharedPrefs();
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.clear();
+ editor.commit();
+ }
+
+ private SharedPreferences getDefaultSharedPrefs() {
+ Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
+ return PreferenceManager.getDefaultSharedPreferences(context);
+ }
+
+ @Test
+ public void testSaveCurrentPositionUpdatesPreferences() {
+ assertEquals(NOT_SET, getDefaultSharedPrefs().getInt(ExternalMedia.PREF_POSITION, NOT_SET));
+ assertEquals(NOT_SET, getDefaultSharedPrefs().getLong(ExternalMedia.PREF_LAST_PLAYED_TIME, NOT_SET));
+
+ ExternalMedia media = new ExternalMedia("source", MediaType.AUDIO);
+ media.saveCurrentPosition(getDefaultSharedPrefs(), POSITION, LAST_PLAYED_TIME);
+
+ assertEquals(POSITION, getDefaultSharedPrefs().getInt(ExternalMedia.PREF_POSITION, NOT_SET));
+ assertEquals(LAST_PLAYED_TIME, getDefaultSharedPrefs().getLong(ExternalMedia.PREF_LAST_PLAYED_TIME, NOT_SET));
+ }
+}