Home | History | Annotate | Download | only in shadows
      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