1package com.xtremelabs.robolectric.shadows;
2
3import android.util.DisplayMetrics;
4import android.view.Display;
5import com.xtremelabs.robolectric.Robolectric;
6import com.xtremelabs.robolectric.WithTestDefaultsRunner;
7import org.junit.Test;
8import org.junit.runner.RunWith;
9
10import static org.junit.Assert.assertEquals;
11
12@RunWith(WithTestDefaultsRunner.class)
13public 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