diff options
author | Herbert Reiter <46045854+damoasda@users.noreply.github.com> | 2020-12-30 10:59:43 +0100 |
---|---|---|
committer | Herbert Reiter <46045854+damoasda@users.noreply.github.com> | 2020-12-30 10:59:43 +0100 |
commit | 90b8655ee92822387ff08b74a3ae8f3856f1556e (patch) | |
tree | 895c775672623e66ae2dcb6df33db07b7118136e /core/src/test | |
parent | dcd40d4caca55b5fb85e4a9e8f958f3cc490448a (diff) | |
download | AntennaPod-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.java | 56 |
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)); + } +} |