19472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesipackage com.xtremelabs.robolectric.res;
29472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
39472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesiimport static com.xtremelabs.robolectric.util.TestUtil.resourceFile;
49472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesiimport static org.hamcrest.CoreMatchers.equalTo;
59472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesiimport static org.junit.Assert.assertThat;
69472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
79472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesiimport org.junit.Before;
89472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesiimport org.junit.Test;
99472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
109472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesiimport com.xtremelabs.robolectric.R;
119472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
129472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesipublic class DimenResourceLoaderTest {
139472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
149472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	private DimenResourceLoader dimenResourceLoader;
159472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
169472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	@Before
179472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	public void setUp() throws Exception {
189472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		ResourceExtractor resourceExtractor = new ResourceExtractor();
199472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		resourceExtractor.addLocalRClass(R.class);
209472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		dimenResourceLoader = new DimenResourceLoader(resourceExtractor);
219472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		new DocumentLoader(dimenResourceLoader)
229472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi				.loadResourceXmlDir(resourceFile("res", "values"));
239472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	}
249472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
259472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	@Test
269472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	public void testDimensionsAreResolved() throws Exception {
279472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		assertThat(dimenResourceLoader.getValue(R.dimen.test_dp_dimen),
289472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi				equalTo(8.0f));
299472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		assertThat(dimenResourceLoader.getValue(R.dimen.test_dip_dimen),
309472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi				equalTo(20.0f));
319472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		assertThat(dimenResourceLoader.getValue(R.dimen.test_px_dimen),
329472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi				equalTo(15.0f));
339472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi		assertThat(dimenResourceLoader.getValue(R.dimen.test_sp_dimen),
349472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi				equalTo(5.0f));
359472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi	}
369472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi
379472d8faeb0c6fa20529234e7e2a7ebf967d1f32Michael Portuesi}
38