1f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesipackage com.xtremelabs.robolectric.shadows;
2f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi
3eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwinimport android.util.DisplayMetrics;
4eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwinimport android.view.Display;
5eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwinimport com.xtremelabs.robolectric.Robolectric;
6eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwinimport com.xtremelabs.robolectric.WithTestDefaultsRunner;
7f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesiimport org.junit.Test;
8f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesiimport org.junit.runner.RunWith;
9f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi
10eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwinimport static org.junit.Assert.assertEquals;
11f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi
12eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin@RunWith(WithTestDefaultsRunner.class)
13f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesipublic class DisplayTest {
14f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi    @Test
15f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi    public void shouldProvideDisplayMetrics() throws Exception {
16eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin
17eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        Display display = Robolectric.newInstanceOf(Display.class);
18eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        ShadowDisplay shadow = Robolectric.shadowOf(display);
19eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin
20eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setDensity(1.5f);
21eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setDensityDpi(DisplayMetrics.DENSITY_MEDIUM);
22eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setScaledDensity(1.6f);
23eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setWidth(1024);
24eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setHeight(600);
25eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setXdpi(183.0f);
26eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        shadow.setYdpi(184.0f);
27eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin
28eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        DisplayMetrics metrics = new DisplayMetrics();
29eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin
30eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        display.getMetrics(metrics);
31eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin
32eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(1.5f, metrics.density, 0.05);
33eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(DisplayMetrics.DENSITY_MEDIUM, metrics.densityDpi);
34eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(1.6f, metrics.scaledDensity, 0.05);
35eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(1024, metrics.widthPixels);
36eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(600, metrics.heightPixels);
37eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(183.0f, metrics.xdpi, 0.05);
38eb645dd6f075c4c7d6d61193fde416739adb7fc1Gregg Van Hove & Phil Goodwin        assertEquals(184.0f, metrics.ydpi, 0.05);
39f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi    }
40f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi
41f8df99654a5e2dd9d19b034758972777d7376be7Michael Portuesi}
42