ActivityManagerTest.java revision 99fafb79bf98b7aa1946bbda1f0a225cefa2d35d
1package com.xtremelabs.robolectric.shadows;
2
3import android.app.ActivityManager;
4import android.content.Context;
5import com.xtremelabs.robolectric.Robolectric;
6import com.xtremelabs.robolectric.WithTestDefaultsRunner;
7import org.junit.Test;
8import org.junit.runner.RunWith;
9
10import static com.xtremelabs.robolectric.Robolectric.shadowOf;
11import static junit.framework.Assert.assertFalse;
12import static org.junit.Assert.assertTrue;
13
14@RunWith(WithTestDefaultsRunner.class)
15public class ActivityManagerTest {
16    @Test
17    public void canGetMemoryInfoForOurProcess() {
18        ActivityManager activityManager = (ActivityManager) Robolectric.application.getSystemService(Context.ACTIVITY_SERVICE);
19        ShadowActivityManager shadowActivityManager = shadowOf(activityManager);
20        ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
21        memoryInfo.lowMemory = true;
22        shadowActivityManager.setMemoryInfo(memoryInfo);
23        ActivityManager.MemoryInfo fetchedMemoryInfo = new ActivityManager.MemoryInfo();
24        activityManager.getMemoryInfo(fetchedMemoryInfo);
25        assertTrue(fetchedMemoryInfo.lowMemory);
26    }
27
28    @Test
29    public void canGetMemoryInfoEvenWhenWeDidNotSetIt() {
30        ActivityManager activityManager = (ActivityManager) Robolectric.application.getSystemService(Context.ACTIVITY_SERVICE);
31        ActivityManager.MemoryInfo fetchedMemoryInfo = new ActivityManager.MemoryInfo();
32        activityManager.getMemoryInfo(fetchedMemoryInfo);
33        assertFalse(fetchedMemoryInfo.lowMemory);
34    }
35}
36