package org.robolectric.shadows; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.TestRunners; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertNotNull; import static org.robolectric.Shadows.shadowOf; @RunWith(TestRunners.MultiApiSelfTest.class) public class ShadowAppWidgetHostTest { private AppWidgetHost appWidgetHost; private ShadowAppWidgetHost shadowAppWidgetHost; private Context context; @Before public void setup() throws Exception { context = RuntimeEnvironment.application; appWidgetHost = new AppWidgetHost(context, 404); shadowAppWidgetHost = shadowOf(appWidgetHost); } @Test public void shouldKnowItsContext() throws Exception { assertThat(shadowAppWidgetHost.getContext()).isSameAs(context); } @Test public void shouldKnowItsHostId() throws Exception { assertThat(shadowAppWidgetHost.getHostId()).isEqualTo(404); } @Test public void createView_shouldReturnAppWidgetHostView() throws Exception { AppWidgetHostView hostView = appWidgetHost.createView(context, 0, null); assertNotNull(hostView); } @Test public void createView_shouldSetViewsContext() throws Exception { AppWidgetHostView hostView = appWidgetHost.createView(context, 0, null); assertThat(hostView.getContext()).isSameAs(context); } @Test public void createView_shouldSetViewsAppWidgetId() throws Exception { AppWidgetHostView hostView = appWidgetHost.createView(context, 765, null); assertThat(hostView.getAppWidgetId()).isEqualTo(765); } @Test public void createView_shouldSetViewsAppWidgetInfo() throws Exception { AppWidgetProviderInfo info = new AppWidgetProviderInfo(); AppWidgetHostView hostView = appWidgetHost.createView(context, 0, info); assertThat(hostView.getAppWidgetInfo()).isSameAs(info); } @Test public void createView_shouldSetHostViewsHost() throws Exception { AppWidgetHostView hostView = appWidgetHost.createView(context, 0, null); assertThat(shadowOf(hostView).getHost()).isSameAs(appWidgetHost); } }