Home | History | Annotate | Download | only in shadows
      1 package com.xtremelabs.robolectric.shadows;
      2 
      3 import android.util.DisplayMetrics;
      4 import android.view.Display;
      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 org.junit.Assert.assertEquals;
     11 
     12 @RunWith(WithTestDefaultsRunner.class)
     13 public class DisplayTest {
     14     @Test
     15     public void shouldProvideDisplayMetrics() throws Exception {
     16 
     17         Display display = Robolectric.newInstanceOf(Display.class);
     18         ShadowDisplay shadow = Robolectric.shadowOf(display);
     19 
     20         shadow.setDensity(1.5f);
     21         shadow.setDensityDpi(DisplayMetrics.DENSITY_MEDIUM);
     22         shadow.setScaledDensity(1.6f);
     23         shadow.setWidth(1024);
     24         shadow.setHeight(600);
     25         shadow.setXdpi(183.0f);
     26         shadow.setYdpi(184.0f);
     27 
     28         DisplayMetrics metrics = new DisplayMetrics();
     29 
     30         display.getMetrics(metrics);
     31 
     32         assertEquals(1.5f, metrics.density, 0.05);
     33         assertEquals(DisplayMetrics.DENSITY_MEDIUM, metrics.densityDpi);
     34         assertEquals(1.6f, metrics.scaledDensity, 0.05);
     35         assertEquals(1024, metrics.widthPixels);
     36         assertEquals(600, metrics.heightPixels);
     37         assertEquals(183.0f, metrics.xdpi, 0.05);
     38         assertEquals(184.0f, metrics.ydpi, 0.05);
     39     }
     40 
     41 }
     42