ItemTest.java revision 48dd827be07471f59aae71eb026253cc1ab7ef97
1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.setupwizardlib.test; 18 19import android.graphics.drawable.Drawable; 20import android.graphics.drawable.ShapeDrawable; 21import android.test.AndroidTestCase; 22import android.test.suitebuilder.annotation.SmallTest; 23import android.view.View; 24import android.view.ViewGroup; 25import android.widget.FrameLayout; 26import android.widget.ImageView; 27import android.widget.TextView; 28 29import com.android.setupwizardlib.R; 30import com.android.setupwizardlib.items.Item; 31 32public class ItemTest extends AndroidTestCase { 33 34 private TextView mTitleView; 35 private TextView mSummaryView; 36 private ImageView mIconView; 37 private FrameLayout mIconContainer; 38 39 @SmallTest 40 public void testOnBindView() { 41 Item item = new Item(); 42 item.setTitle("TestTitle"); 43 item.setSummary("TestSummary"); 44 Drawable icon = new ShapeDrawable(); 45 item.setIcon(icon); 46 View view = createLayout(); 47 48 item.onBindView(view); 49 50 assertEquals("Title should be \"TestTitle\"", "TestTitle", mTitleView.getText().toString()); 51 assertEquals("Summary should be \"TestSummary\"", "TestSummary", 52 mSummaryView.getText().toString()); 53 assertSame("Icon should be the icon shape drawable", icon, mIconView.getDrawable()); 54 } 55 56 @SmallTest 57 public void testSingleLineItem() { 58 Item item = new Item(); 59 item.setTitle("TestTitle"); 60 View view = createLayout(); 61 62 item.onBindView(view); 63 64 assertEquals("Title should be \"TestTitle\"", "TestTitle", mTitleView.getText().toString()); 65 assertEquals("Summary should be gone", View.GONE, mSummaryView.getVisibility()); 66 assertEquals("IconContainer should be gone", View.GONE, mIconContainer.getVisibility()); 67 } 68 69 @SmallTest 70 public void testProperties() { 71 Item item = new Item(); 72 item.setTitle("TestTitle"); 73 item.setSummary("TestSummary"); 74 item.setEnabled(false); 75 ShapeDrawable icon = new ShapeDrawable(); 76 item.setIcon(icon); 77 item.setId(12345); 78 item.setLayoutResource(56789); 79 80 assertEquals("Title should be \"TestTitle\"", "TestTitle", item.getTitle()); 81 assertEquals("Summary should be \"TestSummary\"", "TestSummary", item.getSummary()); 82 assertFalse("Enabled should be false", item.isEnabled()); 83 assertSame("Icon should be same as set", icon, item.getIcon()); 84 assertEquals("ID should be 12345", 12345, item.getId()); 85 assertEquals("Layout resource should be 56789", 56789, item.getLayoutResource()); 86 } 87 88 @SmallTest 89 public void testDefaultValues() { 90 Item item = new Item(); 91 92 assertNull("Default title should be null", item.getTitle()); 93 assertNull("Default summary should be null", item.getSummary()); 94 assertNull("Default icon should be null", item.getIcon()); 95 assertTrue("Default enabled should be true", item.isEnabled()); 96 assertEquals("Default ID should be 0", 0, item.getId()); 97 assertEquals("Default layout resource should be R.layout.suw_items_text", 98 R.layout.suw_items_default, item.getLayoutResource()); 99 } 100 101 private ViewGroup createLayout() { 102 ViewGroup root = new FrameLayout(mContext); 103 104 mTitleView = new TextView(mContext); 105 mTitleView.setId(R.id.suw_items_title); 106 root.addView(mTitleView); 107 108 mSummaryView = new TextView(mContext); 109 mSummaryView.setId(R.id.suw_items_summary); 110 root.addView(mSummaryView); 111 112 mIconContainer = new FrameLayout(mContext); 113 mIconContainer.setId(R.id.suw_items_icon_container); 114 root.addView(mIconContainer); 115 116 mIconView = new ImageView(mContext); 117 mIconView.setId(R.id.suw_items_icon); 118 mIconContainer.addView(mIconView); 119 120 return root; 121 } 122} 123