diff options
Diffstat (limited to 'library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java')
-rw-r--r-- | library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java | 189 |
1 files changed, 92 insertions, 97 deletions
diff --git a/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java b/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java index 5a36f4a..001fe33 100644 --- a/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java +++ b/library/test/instrumentation/src/com/android/setupwizardlib/template/IconMixinTest.java @@ -17,7 +17,6 @@ package com.android.setupwizardlib.template; import static com.google.common.truth.Truth.assertThat; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import static org.mockito.Matchers.eq; @@ -30,115 +29,111 @@ import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; -import android.support.test.InstrumentationRegistry; -import android.support.test.filters.SmallTest; -import android.support.test.runner.AndroidJUnit4; import android.util.Xml; import android.view.View; import android.widget.ImageView; - +import android.support.test.InstrumentationRegistry; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; import com.android.setupwizardlib.TemplateLayout; import com.android.setupwizardlib.test.R; - +import java.io.IOException; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.xmlpull.v1.XmlPullParserException; -import java.io.IOException; - @RunWith(AndroidJUnit4.class) @SmallTest public class IconMixinTest { - private Context mContext; - private TemplateLayout mTemplateLayout; - private ImageView mIconView; - - @Before - public void setUp() { - mContext = InstrumentationRegistry.getContext(); - mTemplateLayout = spy(new TemplateLayout(mContext, R.layout.test_template, - R.id.suw_layout_content)); - - mIconView = new ImageView(mContext); - doReturn(mIconView).when(mTemplateLayout).findManagedViewById(eq(R.id.suw_layout_icon)); - } - - @Test - public void testGetIconView() { - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - assertSame(mIconView, mixin.getView()); - } - - @Test - public void testSetIcon() { - final ColorDrawable drawable = new ColorDrawable(Color.CYAN); - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - mixin.setIcon(drawable); - - assertSame(drawable, mIconView.getDrawable()); - assertEquals(View.VISIBLE, mIconView.getVisibility()); - } - - @Test - public void setIcon_resourceId_shouldSetIcon() { - int icon = android.R.drawable.ic_menu_add; - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - mixin.setIcon(icon); - - Drawable drawable = mIconView.getDrawable(); - assertThat(drawable).isInstanceOf(BitmapDrawable.class); - assertEquals(View.VISIBLE, mIconView.getVisibility()); - } - - @Test - public void setIcon_shouldSetVisibilityToGone_whenIconIsNull() { - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - mixin.setIcon(null); - - assertEquals(View.GONE, mIconView.getVisibility()); - } - - @Test - public void testGetIcon() { - final ColorDrawable drawable = new ColorDrawable(Color.BLUE); - mIconView.setImageDrawable(drawable); - - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - assertSame(drawable, mixin.getIcon()); - } - - @SuppressWarnings("ResourceType") // Needed to create attribute set from layout XML. - @Test - public void testSetIconFromXml() throws IOException, XmlPullParserException { - final XmlResourceParser parser = - mContext.getResources().getXml(R.layout.test_mixin_attributes); - while (!TemplateLayout.class.getName().equals(parser.getName())) { - parser.next(); - } - new IconMixin(mTemplateLayout, Xml.asAttributeSet(parser), 0); - - // Check that the bitmaps themselves are equal because BitmapDrawable does not implement - // equals() - final BitmapDrawable expected = (BitmapDrawable) mContext.getResources() - .getDrawable(android.R.drawable.ic_menu_add); - final BitmapDrawable actual = (BitmapDrawable) mIconView.getDrawable(); - assertEquals(expected.getBitmap(), actual.getBitmap()); - assertEquals(View.VISIBLE, mIconView.getVisibility()); - } - - @Test - public void setContentDescription_shouldSetContentDescriptionOnIconView() { - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - mixin.setContentDescription("hello world"); - assertThat(mIconView.getContentDescription()).isEqualTo("hello world"); - } - - @Test - public void getContentDescription_shouldReturnContentDescriptionFromView() { - IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); - mIconView.setContentDescription("aloha"); - assertThat(mixin.getContentDescription()).isEqualTo("aloha"); + private Context mContext; + private TemplateLayout mTemplateLayout; + private ImageView mIconView; + + @Before + public void setUp() { + mContext = InstrumentationRegistry.getContext(); + mTemplateLayout = + spy(new TemplateLayout(mContext, R.layout.test_template, R.id.suw_layout_content)); + + mIconView = new ImageView(mContext); + doReturn(mIconView).when(mTemplateLayout).findManagedViewById(eq(R.id.suw_layout_icon)); + } + + @Test + public void testGetIconView() { + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + assertSame(mIconView, mixin.getView()); + } + + @Test + public void testSetIcon() { + final ColorDrawable drawable = new ColorDrawable(Color.CYAN); + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + mixin.setIcon(drawable); + + assertSame(drawable, mIconView.getDrawable()); + assertEquals(View.VISIBLE, mIconView.getVisibility()); + } + + @Test + public void setIcon_resourceId_shouldSetIcon() { + int icon = android.R.drawable.ic_menu_add; + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + mixin.setIcon(icon); + + Drawable drawable = mIconView.getDrawable(); + assertThat(drawable).isInstanceOf(BitmapDrawable.class); + assertEquals(View.VISIBLE, mIconView.getVisibility()); + } + + @Test + public void setIcon_shouldSetVisibilityToGone_whenIconIsNull() { + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + mixin.setIcon(null); + + assertEquals(View.GONE, mIconView.getVisibility()); + } + + @Test + public void testGetIcon() { + final ColorDrawable drawable = new ColorDrawable(Color.BLUE); + mIconView.setImageDrawable(drawable); + + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + assertSame(drawable, mixin.getIcon()); + } + + @SuppressWarnings("ResourceType") // Needed to create attribute set from layout XML. + @Test + public void testSetIconFromXml() throws IOException, XmlPullParserException { + final XmlResourceParser parser = mContext.getResources().getXml(R.layout.test_mixin_attributes); + while (!TemplateLayout.class.getName().equals(parser.getName())) { + parser.next(); } + new IconMixin(mTemplateLayout, Xml.asAttributeSet(parser), 0); + + // Check that the bitmaps themselves are equal because BitmapDrawable does not implement + // equals() + final BitmapDrawable expected = + (BitmapDrawable) mContext.getResources().getDrawable(android.R.drawable.ic_menu_add); + final BitmapDrawable actual = (BitmapDrawable) mIconView.getDrawable(); + assertEquals(expected.getBitmap(), actual.getBitmap()); + assertEquals(View.VISIBLE, mIconView.getVisibility()); + } + + @Test + public void setContentDescription_shouldSetContentDescriptionOnIconView() { + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + mixin.setContentDescription("hello world"); + assertThat(mIconView.getContentDescription()).isEqualTo("hello world"); + } + + @Test + public void getContentDescription_shouldReturnContentDescriptionFromView() { + IconMixin mixin = new IconMixin(mTemplateLayout, null, 0); + mIconView.setContentDescription("aloha"); + assertThat(mixin.getContentDescription()).isEqualTo("aloha"); + } } |