package org.robolectric.shadows; import android.graphics.Bitmap; import android.graphics.drawable.Icon; import android.net.Uri; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.TestRunners; import org.robolectric.annotation.Config; import static android.os.Build.VERSION_CODES.M; import static org.assertj.core.api.Assertions.assertThat; import static org.robolectric.Shadows.shadowOf; @RunWith(TestRunners.MultiApiSelfTest.class) @Config(minSdk = M) public class ShadowIconTest { public static final int TYPE_BITMAP = 1; public static final int TYPE_RESOURCE = 2; public static final int TYPE_DATA = 3; public static final int TYPE_URI = 4; @Test public void testGetRes() { Icon icon = Icon.createWithResource(RuntimeEnvironment.application, android.R.drawable.ic_delete); assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_RESOURCE); assertThat(shadowOf(icon).getResId()).isEqualTo(android.R.drawable.ic_delete); } @Test public void testGetBitmap() { Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Icon icon = Icon.createWithBitmap(bitmap); assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_BITMAP); assertThat(shadowOf(icon).getBitmap()).isEqualTo(bitmap); } @Test public void testGetData() { byte[] data = new byte[1000]; Icon icon = Icon.createWithData(data, 100, 200); assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_DATA); assertThat(shadowOf(icon).getDataBytes()).isEqualTo(data); assertThat(shadowOf(icon).getDataOffset()).isEqualTo(100); assertThat(shadowOf(icon).getDataLength()).isEqualTo(200); } @Test public void testGetUri() { Uri uri = Uri.parse("content://icons/icon"); Icon icon = Icon.createWithContentUri(uri); assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_URI); assertThat(shadowOf(icon).getUri()).isEqualTo(uri); } }