EmergencyEditTextPreferenceTest.java revision f0e8818031c5e1ceb40e4f22bd3bc27a2b6771ca
109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol/* 209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * Copyright (C) 2016 The Android Open Source Project 309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * 409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * Licensed under the Apache License, Version 2.0 (the "License"); 509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * you may not use this file except in compliance with the License. 609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * You may obtain a copy of the License at 709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * 809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * http://www.apache.org/licenses/LICENSE-2.0 909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * 1009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * Unless required by applicable law or agreed to in writing, software 1109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * distributed under the License is distributed on an "AS IS" BASIS, 1209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * See the License for the specific language governing permissions and 1409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * limitations under the License. 1509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol */ 1609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolpackage com.android.emergency.preferences; 1709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 1809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolimport android.test.ActivityInstrumentationTestCase2; 1909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 2009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolimport com.android.emergency.PreferenceKeys; 2109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolimport com.android.emergency.R; 2209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolimport com.android.emergency.edit.EditEmergencyInfoFragment; 2309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolimport com.android.emergency.edit.EditInfoActivity; 2409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 2509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol/** 2609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol * Tests for {@link EmergencyEditTextPreference}. 2709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol */ 2809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyolpublic class EmergencyEditTextPreferenceTest 2909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol extends ActivityInstrumentationTestCase2<EditInfoActivity> { 3009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol private EmergencyEditTextPreference mPreference; 3109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol private EditEmergencyInfoFragment mEditInfoFragment; 3209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 3309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public EmergencyEditTextPreferenceTest() { 3409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol super(EditInfoActivity.class); 3509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 3609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 3709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol @Override 3809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol protected void setUp() throws Exception { 3909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol super.setUp(); 4009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mEditInfoFragment = (EditEmergencyInfoFragment) getActivity().getFragments().get(0).second; 4109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mPreference = (EmergencyEditTextPreference) 4209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mEditInfoFragment.findPreference(PreferenceKeys.KEY_MEDICAL_CONDITIONS); 4309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol try { 4409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol runTestOnUiThread(new Runnable() { 4509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol @Override 4609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void run() { 4709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mPreference.setText(""); 4809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 4909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol }); 5009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } catch (Throwable throwable) { 5109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol fail("Should not throw exception"); 5209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 5309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 5409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 5509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void testSummary() { 5609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol String summary = (String) mPreference.getSummary(); 5709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol String summaryExp = 5809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol getActivity().getResources().getString(R.string.unknown_medical_conditions); 5909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals(summaryExp, summary); 6009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 6109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 6209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void testTitle() { 6309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol String title = (String) mPreference.getTitle(); 6409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol String titleExp = 6509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol getActivity().getResources().getString(R.string.medical_conditions); 6609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals(titleExp, title); 6709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 6809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 6909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void testProperties() { 7009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertNotNull(mPreference); 7109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals(PreferenceKeys.KEY_MEDICAL_CONDITIONS, mPreference.getKey()); 7209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertTrue(mPreference.isEnabled()); 7309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertTrue(mPreference.isPersistent()); 7409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertTrue(mPreference.isSelectable()); 7509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertTrue(mPreference.isNotSet()); 7609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals("", mPreference.getText()); 7709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 7809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 7909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void testReloadFromPreference() throws Throwable { 8009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol String medicalConditions = "Asthma"; 8109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mEditInfoFragment.getPreferenceManager().getSharedPreferences().edit() 82f0e8818031c5e1ceb40e4f22bd3bc27a2b6771camariagpuyol .putString(mPreference.getKey(), medicalConditions).commit(); 8309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol runTestOnUiThread(new Runnable() { 8409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol @Override 8509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void run() { 8609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mPreference.reloadFromPreference(); 8709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 8809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol }); 8909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals(medicalConditions, mPreference.getText()); 9009f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertFalse(mPreference.isNotSet()); 9109f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 9209f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol 9309f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol public void testSetText() { 9409f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol String medicalConditions = "Asthma"; 9509f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol mPreference.setText(medicalConditions); 9609f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals(medicalConditions, mPreference.getText()); 9709f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol assertEquals(medicalConditions, mPreference.getSummary()); 9809f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol } 9909f34dab15bc09ca5b8dd7df6d67f22c395984ebmariagpuyol} 100