summaryrefslogtreecommitdiff
path: root/core/src/test
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2020-12-30 15:53:42 +0100
committerGitHub <noreply@github.com>2020-12-30 15:53:42 +0100
commit5998e2849789d42be4f8ee60a8c2ed71518ef880 (patch)
tree2199f772e160a32f8063b9eafed43b067402b0c3 /core/src/test
parent8d50af58ac692d0db40f6e0f9f6b0ecd03cef8a6 (diff)
parent90b8655ee92822387ff08b74a3ae8f3856f1556e (diff)
downloadAntennaPod-5998e2849789d42be4f8ee60a8c2ed71518ef880.zip
Merge pull request #4811 from damoasda/robolectric-ExternalMediaTest
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));
+ }
+}