diff options
author | ByteHamster <ByteHamster@users.noreply.github.com> | 2020-12-30 15:53:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-30 15:53:42 +0100 |
commit | 5998e2849789d42be4f8ee60a8c2ed71518ef880 (patch) | |
tree | 2199f772e160a32f8063b9eafed43b067402b0c3 /core/src/test | |
parent | 8d50af58ac692d0db40f6e0f9f6b0ecd03cef8a6 (diff) | |
parent | 90b8655ee92822387ff08b74a3ae8f3856f1556e (diff) | |
download | AntennaPod-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.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)); + } +} |