1 package org.robolectric.shadows; 2 3 import static org.assertj.core.api.Assertions.assertThat; 4 5 import android.os.Bundle; 6 import android.preference.DialogPreference; 7 import android.preference.PreferenceActivity; 8 import android.preference.PreferenceScreen; 9 import org.junit.Test; 10 import org.junit.runner.RunWith; 11 import org.robolectric.R; 12 import org.robolectric.Robolectric; 13 import org.robolectric.RobolectricTestRunner; 14 15 @RunWith(RobolectricTestRunner.class) 16 public class ShadowDialogPreferenceTest { 17 18 @Test 19 public void inflate_shouldCreateDialogPreference() { 20 final PreferenceScreen screen = inflatePreferenceActivity(); 21 final DialogPreference preference = (DialogPreference) screen.findPreference("dialog"); 22 23 assertThat(preference.getTitle()).isEqualTo("Dialog Preference"); 24 assertThat(preference.getSummary()).isEqualTo("This is the dialog summary"); 25 assertThat(preference.getDialogMessage()).isEqualTo("This is the dialog message"); 26 assertThat(preference.getPositiveButtonText()).isEqualTo("YES"); 27 assertThat(preference.getNegativeButtonText()).isEqualTo("NO"); 28 } 29 30 private PreferenceScreen inflatePreferenceActivity() { 31 PreferenceActivity activity = Robolectric.setupActivity(TestPreferenceActivity.class); 32 return activity.getPreferenceScreen(); 33 } 34 35 @SuppressWarnings("FragmentInjection") 36 private static class TestPreferenceActivity extends PreferenceActivity { 37 @Override 38 protected void onCreate(Bundle savedInstanceState) { 39 super.onCreate(savedInstanceState); 40 addPreferencesFromResource(R.xml.dialog_preferences); 41 } 42 } 43 } 44