package de.test.antennapod.entities; import android.annotation.SuppressLint; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.test.InstrumentationTestCase; import de.danoeh.antennapod.core.feed.MediaType; import de.danoeh.antennapod.core.util.playback.ExternalMedia; /** * Tests for {@link ExternalMedia} entity. */ public class ExternalMediaTest extends InstrumentationTestCase { private static final int NOT_SET = -1; @Override protected void tearDown() throws Exception { super.tearDown(); clearSharedPrefs(); } @SuppressLint("CommitPrefEdits") private void clearSharedPrefs() { SharedPreferences prefs = getDefaultSharedPrefs(); SharedPreferences.Editor editor = prefs.edit(); editor.clear(); editor.commit(); } private SharedPreferences getDefaultSharedPrefs() { return PreferenceManager.getDefaultSharedPreferences(getInstrumentation().getTargetContext()); } public void testSaveCurrentPositionUpdatesPreferences() { final int POSITION = 50; final int LAST_PLAYED_TIME = 1650; 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)); } }