1 /* 2 * Copyright (C) 2012 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 17 package android.preference.cts; 18 19 import android.preference.CheckBoxPreference; 20 import android.preference.Preference; 21 import android.preference.PreferenceGroup; 22 import android.test.ActivityInstrumentationTestCase2; 23 24 public class PreferenceGroupTest 25 extends ActivityInstrumentationTestCase2<PreferenceFromCodeActivity> { 26 27 private PreferenceFromCodeActivity mActivity; 28 private PreferenceGroup mPreferenceGroup; 29 PreferenceGroupTest()30 public PreferenceGroupTest() { 31 super(PreferenceFromCodeActivity.class); 32 } 33 34 @Override setUp()35 protected void setUp() throws Exception { 36 super.setUp(); 37 mActivity = getActivity(); 38 mPreferenceGroup = (PreferenceGroup) mActivity.findPreference("pref-group"); 39 CheckBoxPreference checkboxPref = new CheckBoxPreference(mActivity); 40 checkboxPref.setKey("checkbox_preference_group"); 41 checkboxPref.setIcon(R.drawable.ic_launcher); 42 checkboxPref.setTitle(R.string.title_checkbox_preference); 43 checkboxPref.setSummary(R.string.summary_checkbox_preference); 44 checkboxPref.setSummaryOn(R.string.summary_on_checkbox_preference); 45 checkboxPref.setSummaryOff(R.string.summary_off_checkbox_preference); 46 checkboxPref.setChecked(true); 47 mPreferenceGroup.addPreference(checkboxPref); 48 } 49 testAddPreference()50 public void testAddPreference() { 51 Preference preference = mActivity.findPreference("pref-group"); 52 assertNotNull(preference); 53 } 54 testFindPreference()55 public void testFindPreference() { 56 Preference preference = mPreferenceGroup.findPreference("checkbox_preference_group"); 57 assertNotNull(preference); 58 } 59 testPreferenceCount()60 public void testPreferenceCount() { 61 assertEquals(1, mPreferenceGroup.getPreferenceCount()); 62 } 63 testSetOrderingAsAdded()64 public void testSetOrderingAsAdded() { 65 mPreferenceGroup.setOrderingAsAdded(false); 66 assertFalse(mPreferenceGroup.isOrderingAsAdded()); 67 } 68 testRemoveAll()69 public void testRemoveAll() { 70 mPreferenceGroup.removeAll(); 71 assertEquals(0, mPreferenceGroup.getPreferenceCount()); 72 } 73 testRemovePreference()74 public void testRemovePreference() { 75 Preference preference = mPreferenceGroup.findPreference("checkbox_preference_group"); 76 mPreferenceGroup.removePreference(preference); 77 assertEquals(0, mPreferenceGroup.getPreferenceCount()); 78 } 79 testIsOnSameScreenAsChildren()80 public void testIsOnSameScreenAsChildren() { 81 CustomPreferenceGroup mCustomPreferenceGroup = (CustomPreferenceGroup) 82 mActivity.findPreference("custom-pref-group"); 83 assertTrue(mCustomPreferenceGroup.isOnSameScreenAsChildren()); 84 } 85 testOnPrepareAddPreference()86 public void testOnPrepareAddPreference() { 87 CustomPreferenceGroup mCustomPreferenceGroup = (CustomPreferenceGroup) 88 mActivity.findPreference("custom-pref-group"); 89 CheckBoxPreference checkboxPref = new CheckBoxPreference(mActivity); 90 checkboxPref.setKey("checkbox_preference-2"); 91 mCustomPreferenceGroup.addPreference(checkboxPref); 92 assertTrue(mCustomPreferenceGroup.mOnPrepareCalled); 93 } 94 } 95