package org.robolectric.shadows; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; 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.robolectric.Shadows.shadowOf; @RunWith(TestRunners.MultiApiSelfTest.class) public class ShadowAppWidgetHostViewTest { private AppWidgetHostView appWidgetHostView; private ShadowAppWidgetHostView shadowAppWidgetHostView; @Before public void setUp() throws Exception { appWidgetHostView = new AppWidgetHostView(RuntimeEnvironment.application); shadowAppWidgetHostView = shadowOf(appWidgetHostView); } @Test public void shouldKnowItsWidgetId() throws Exception { appWidgetHostView.setAppWidget(789, null); assertThat(appWidgetHostView.getAppWidgetId()).isEqualTo(789); } @Test public void shouldKnowItsAppWidgetProviderInfo() throws Exception { AppWidgetProviderInfo providerInfo = new AppWidgetProviderInfo(); appWidgetHostView.setAppWidget(0, providerInfo); assertThat(appWidgetHostView.getAppWidgetInfo()).isSameAs(providerInfo); } @Test public void shouldHaveNullHost() throws Exception { assertThat(shadowAppWidgetHostView.getHost()).isNull(); } @Test public void shouldBeAbleToHaveHostSet() throws Exception { AppWidgetHost host = new AppWidgetHost(RuntimeEnvironment.application, 0); shadowAppWidgetHostView.setHost(host); assertThat(shadowAppWidgetHostView.getHost()).isSameAs(host); } }