1 package com.xtremelabs.robolectric.shadows; 2 3 import android.app.ActivityManager; 4 import android.content.Context; 5 import com.xtremelabs.robolectric.Robolectric; 6 import com.xtremelabs.robolectric.WithTestDefaultsRunner; 7 import org.junit.Test; 8 import org.junit.runner.RunWith; 9 10 import static com.xtremelabs.robolectric.Robolectric.shadowOf; 11 import static junit.framework.Assert.assertFalse; 12 import static org.junit.Assert.assertTrue; 13 14 @RunWith(WithTestDefaultsRunner.class) 15 public 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