package io.nlopez.smartlocation.activity; import android.content.Context; import android.content.SharedPreferences; import com.google.android.gms.location.DetectedActivity; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import io.nlopez.smartlocation.CustomTestRunner; /** * Tests {@link ActivityStore} */ @RunWith(CustomTestRunner.class) @Config(manifest = Config.NONE) public class ActivityStoreTest { private static final DetectedActivity TEST_ACTIVITY = new DetectedActivity(DetectedActivity.UNKNOWN, 100); private static final String TEST_ACTIVITY_ID = "test_activity_1"; @Test public void test_activity_store_full_cycle() { ActivityStore store = new ActivityStore(RuntimeEnvironment.application.getApplicationContext()); store.setPreferences(getSharedPreferences()); Assert.assertNull(store.get(TEST_ACTIVITY_ID)); store.put(TEST_ACTIVITY_ID, TEST_ACTIVITY); DetectedActivity storedActivity = store.get(TEST_ACTIVITY_ID); Assert.assertEquals(storedActivity.getConfidence(), TEST_ACTIVITY.getConfidence()); Assert.assertEquals(storedActivity.getType(), TEST_ACTIVITY.getType()); store.remove(TEST_ACTIVITY_ID); Assert.assertNull(store.get(TEST_ACTIVITY_ID)); } private SharedPreferences getSharedPreferences() { return RuntimeEnvironment.application.getApplicationContext().getSharedPreferences("test_prefs", Context.MODE_PRIVATE); } }