summaryrefslogtreecommitdiff
path: root/library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java')
-rw-r--r--library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java298
1 files changed, 148 insertions, 150 deletions
diff --git a/library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java b/library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java
index b4ebabb..84990dd 100644
--- a/library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java
+++ b/library/test/instrumentation/src/com/android/setupwizardlib/test/ItemTest.java
@@ -28,19 +28,17 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ShapeDrawable;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
-
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.items.Item;
import com.android.setupwizardlib.items.ItemHierarchy.Observer;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -52,149 +50,149 @@ import org.mockito.MockitoAnnotations;
@SmallTest
public class ItemTest {
- private TextView mTitleView;
- private TextView mSummaryView;
- private ImageView mIconView;
- private FrameLayout mIconContainer;
-
- @Mock
- private Observer mObserver;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- }
-
- @Test
- public void testOnBindView() {
- Item item = new Item();
- item.setTitle("TestTitle");
- item.setSummary("TestSummary");
- Drawable icon = new ShapeDrawable();
- icon.setLevel(4);
- item.setIcon(icon);
- View view = createLayout();
-
- mIconView.setImageLevel(1);
- Drawable recycledIcon = new ShapeDrawable();
- mIconView.setImageDrawable(recycledIcon);
-
- item.onBindView(view);
-
- assertEquals("Title should be \"TestTitle\"", "TestTitle", mTitleView.getText().toString());
- assertEquals("Summary should be \"TestSummary\"", "TestSummary",
- mSummaryView.getText().toString());
- assertSame("Icon should be the icon shape drawable", icon, mIconView.getDrawable());
- assertEquals("Recycled icon level should not change", 1, recycledIcon.getLevel());
- assertEquals("Icon should be level 4", 4, icon.getLevel());
- }
-
- @Test
- public void testSingleLineItem() {
- Item item = new Item();
- item.setTitle("TestTitle");
- View view = createLayout();
-
- item.onBindView(view);
-
- assertEquals("Title should be \"TestTitle\"", "TestTitle", mTitleView.getText().toString());
- assertEquals("Summary should be gone", View.GONE, mSummaryView.getVisibility());
- assertEquals("IconContainer should be gone", View.GONE, mIconContainer.getVisibility());
- }
-
- @Test
- public void testProperties() {
- Item item = new Item();
- item.registerObserver(mObserver);
- final InOrder inOrder = inOrder(mObserver);
-
- item.setTitle("TestTitle");
- inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
-
- item.setSummary("TestSummary");
- inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
-
- item.setEnabled(false);
- inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
-
- ShapeDrawable icon = new ShapeDrawable();
- item.setIcon(icon);
- inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
-
- item.setId(12345);
-
- item.setLayoutResource(56789);
- inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
-
- assertEquals("Title should be \"TestTitle\"", "TestTitle", item.getTitle());
- assertEquals("Summary should be \"TestSummary\"", "TestSummary", item.getSummary());
- assertFalse("Enabled should be false", item.isEnabled());
- assertSame("Icon should be same as set", icon, item.getIcon());
- assertEquals("ID should be 12345", 12345, item.getId());
- assertEquals("Layout resource should be 56789", 56789, item.getLayoutResource());
- }
-
- @Test
- public void testDefaultValues() {
- Item item = new Item();
-
- assertNull("Default title should be null", item.getTitle());
- assertNull("Default summary should be null", item.getSummary());
- assertNull("Default icon should be null", item.getIcon());
- assertTrue("Default enabled should be true", item.isEnabled());
- assertEquals("Default ID should be 0", 0, item.getId());
- assertEquals("Default layout resource should be R.layout.suw_items_text",
- R.layout.suw_items_default, item.getLayoutResource());
- assertTrue("Default visible should be true", item.isVisible());
- }
-
- @Test
- public void testHierarchyImplementation() {
- Item item = new Item();
- item.setId(12345);
-
- assertEquals("getCount should be 1", 1, item.getCount());
- assertSame("getItemAt should return itself", item, item.getItemAt(0));
- assertSame("findItemById with same ID should return itself", item,
- item.findItemById(12345));
- assertNull("findItemById with different ID should return null", item.findItemById(34567));
- }
-
- @Test
- public void testVisible() {
- Item item = new Item();
- item.registerObserver(mObserver);
- item.setVisible(false);
-
- assertFalse("Item should not be visible", item.isVisible());
- assertEquals("Item count should be 0 when not visible", 0, item.getCount());
-
- verify(mObserver).onItemRangeRemoved(eq(item), eq(0), eq(1));
-
- item.setVisible(true);
- verify(mObserver).onItemRangeInserted(eq(item), eq(0), eq(1));
- }
-
- private ViewGroup createLayout() {
- Context context = InstrumentationRegistry.getContext();
- ViewGroup root = new FrameLayout(context);
-
- mTitleView = new TextView(context);
- mTitleView.setId(R.id.suw_items_title);
- root.addView(mTitleView);
-
- mSummaryView = new TextView(context);
- mSummaryView.setId(R.id.suw_items_summary);
- root.addView(mSummaryView);
-
- mIconContainer = new FrameLayout(context);
- mIconContainer.setId(R.id.suw_items_icon_container);
- root.addView(mIconContainer);
-
- mIconView = new ImageView(context);
- mIconView.setId(R.id.suw_items_icon);
- mIconContainer.addView(mIconView);
-
- return root;
- }
+ private TextView mTitleView;
+ private TextView mSummaryView;
+ private ImageView mIconView;
+ private FrameLayout mIconContainer;
+
+ @Mock private Observer mObserver;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void testOnBindView() {
+ Item item = new Item();
+ item.setTitle("TestTitle");
+ item.setSummary("TestSummary");
+ Drawable icon = new ShapeDrawable();
+ icon.setLevel(4);
+ item.setIcon(icon);
+ View view = createLayout();
+
+ mIconView.setImageLevel(1);
+ Drawable recycledIcon = new ShapeDrawable();
+ mIconView.setImageDrawable(recycledIcon);
+
+ item.onBindView(view);
+
+ assertEquals("Title should be \"TestTitle\"", "TestTitle", mTitleView.getText().toString());
+ assertEquals(
+ "Summary should be \"TestSummary\"", "TestSummary", mSummaryView.getText().toString());
+ assertSame("Icon should be the icon shape drawable", icon, mIconView.getDrawable());
+ assertEquals("Recycled icon level should not change", 1, recycledIcon.getLevel());
+ assertEquals("Icon should be level 4", 4, icon.getLevel());
+ }
+
+ @Test
+ public void testSingleLineItem() {
+ Item item = new Item();
+ item.setTitle("TestTitle");
+ View view = createLayout();
+
+ item.onBindView(view);
+
+ assertEquals("Title should be \"TestTitle\"", "TestTitle", mTitleView.getText().toString());
+ assertEquals("Summary should be gone", View.GONE, mSummaryView.getVisibility());
+ assertEquals("IconContainer should be gone", View.GONE, mIconContainer.getVisibility());
+ }
+
+ @Test
+ public void testProperties() {
+ Item item = new Item();
+ item.registerObserver(mObserver);
+ final InOrder inOrder = inOrder(mObserver);
+
+ item.setTitle("TestTitle");
+ inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
+
+ item.setSummary("TestSummary");
+ inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
+
+ item.setEnabled(false);
+ inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
+
+ ShapeDrawable icon = new ShapeDrawable();
+ item.setIcon(icon);
+ inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
+
+ item.setId(12345);
+
+ item.setLayoutResource(56789);
+ inOrder.verify(mObserver).onItemRangeChanged(eq(item), eq(0), eq(1));
+
+ assertEquals("Title should be \"TestTitle\"", "TestTitle", item.getTitle());
+ assertEquals("Summary should be \"TestSummary\"", "TestSummary", item.getSummary());
+ assertFalse("Enabled should be false", item.isEnabled());
+ assertSame("Icon should be same as set", icon, item.getIcon());
+ assertEquals("ID should be 12345", 12345, item.getId());
+ assertEquals("Layout resource should be 56789", 56789, item.getLayoutResource());
+ }
+
+ @Test
+ public void testDefaultValues() {
+ Item item = new Item();
+
+ assertNull("Default title should be null", item.getTitle());
+ assertNull("Default summary should be null", item.getSummary());
+ assertNull("Default icon should be null", item.getIcon());
+ assertTrue("Default enabled should be true", item.isEnabled());
+ assertEquals("Default ID should be 0", 0, item.getId());
+ assertEquals(
+ "Default layout resource should be R.layout.suw_items_text",
+ R.layout.suw_items_default,
+ item.getLayoutResource());
+ assertTrue("Default visible should be true", item.isVisible());
+ }
+
+ @Test
+ public void testHierarchyImplementation() {
+ Item item = new Item();
+ item.setId(12345);
+
+ assertEquals("getCount should be 1", 1, item.getCount());
+ assertSame("getItemAt should return itself", item, item.getItemAt(0));
+ assertSame("findItemById with same ID should return itself", item, item.findItemById(12345));
+ assertNull("findItemById with different ID should return null", item.findItemById(34567));
+ }
+
+ @Test
+ public void testVisible() {
+ Item item = new Item();
+ item.registerObserver(mObserver);
+ item.setVisible(false);
+
+ assertFalse("Item should not be visible", item.isVisible());
+ assertEquals("Item count should be 0 when not visible", 0, item.getCount());
+
+ verify(mObserver).onItemRangeRemoved(eq(item), eq(0), eq(1));
+
+ item.setVisible(true);
+ verify(mObserver).onItemRangeInserted(eq(item), eq(0), eq(1));
+ }
+
+ private ViewGroup createLayout() {
+ Context context = InstrumentationRegistry.getContext();
+ ViewGroup root = new FrameLayout(context);
+
+ mTitleView = new TextView(context);
+ mTitleView.setId(R.id.suw_items_title);
+ root.addView(mTitleView);
+
+ mSummaryView = new TextView(context);
+ mSummaryView.setId(R.id.suw_items_summary);
+ root.addView(mSummaryView);
+
+ mIconContainer = new FrameLayout(context);
+ mIconContainer.setId(R.id.suw_items_icon_container);
+ root.addView(mIconContainer);
+
+ mIconView = new ImageView(context);
+ mIconView.setId(R.id.suw_items_icon);
+ mIconContainer.addView(mIconView);
+
+ return root;
+ }
}