summaryrefslogtreecommitdiff
path: root/app/src/androidTest/java/de/test/antennapod/entities/ExternalMediaTest.java
blob: 6da4e60a1f51d90fcdd5bf3ffcb46d408c65ed17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package de.test.antennapod.entities;

import android.annotation.SuppressLint;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.filters.LargeTest;
import androidx.test.filters.SmallTest;
import de.danoeh.antennapod.core.feed.MediaType;
import de.danoeh.antennapod.core.util.playback.ExternalMedia;
import org.junit.After;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

/**
 * Tests for {@link ExternalMedia} entity.
 */
@SmallTest
public class ExternalMediaTest {

    private static final int NOT_SET = -1;

    @After
    public void tearDown() throws Exception {
        clearSharedPrefs();
    }

    @SuppressLint("CommitPrefEdits")
    private void clearSharedPrefs() {
        SharedPreferences prefs = getDefaultSharedPrefs();
        SharedPreferences.Editor editor = prefs.edit();
        editor.clear();
        editor.commit();
    }

    private SharedPreferences getDefaultSharedPrefs() {
        return PreferenceManager.getDefaultSharedPreferences(InstrumentationRegistry.getInstrumentation().getTargetContext());
    }

    @Test
    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));
    }
}