ListPreferenceTest.java revision 8c7d7133d55c755eff45566d1b2ee074300d6d64
1db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreypackage com.xtremelabs.robolectric.shadows; 2db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 35f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport android.app.Activity; 45f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport android.preference.ListPreference; 55f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport com.xtremelabs.robolectric.R; 65f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport com.xtremelabs.robolectric.Robolectric; 75f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 85f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport org.junit.Before; 95f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport org.junit.Test; 105f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richardimport org.junit.runner.RunWith; 115f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richard 128c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesiimport static org.hamcrest.CoreMatchers.equalTo; 13db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreyimport static org.hamcrest.CoreMatchers.instanceOf; 14db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreyimport static org.hamcrest.CoreMatchers.notNullValue; 15db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreyimport static org.hamcrest.CoreMatchers.nullValue; 16db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreyimport static org.hamcrest.CoreMatchers.sameInstance; 17db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreyimport static org.junit.Assert.assertThat; 18db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 19db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey@RunWith(WithTestDefaultsRunner.class) 20db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphreypublic class ListPreferenceTest { 21db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 22db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey private ListPreference listPreference; 23db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey private ShadowListPreference shadow; 24db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 25db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Before 26db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void setUp() throws Exception { 27db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey listPreference = new ListPreference(new Activity()); 28db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey shadow = Robolectric.shadowOf(listPreference); 29db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 30db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 31db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Test 32db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void shouldInheritFromDialogPreference() { 33db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(shadow, instanceOf(ShadowDialogPreference.class)); 34db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 35db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 36db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Test 37db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void shouldHaveEntries() { 38db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey CharSequence[] entries = { "this", "is", "only", "a", "test" }; 39db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 40db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntries(), nullValue()); 41db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey listPreference.setEntries(entries); 42db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntries(), sameInstance(entries)); 43db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 44db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 45db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Test 46db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void shouldSetEntriesByResourceId() { 47db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntries(), nullValue()); 48db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey listPreference.setEntries(R.array.greetings); 49db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntries(), notNullValue()); 50db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 51db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 52db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Test 53db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void shouldHaveEntryValues() { 54db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey CharSequence[] entryValues = { "this", "is", "only", "a", "test" }; 55db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 56db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntryValues(), nullValue()); 57db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey listPreference.setEntryValues(entryValues); 58db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntryValues(), sameInstance(entryValues)); 59db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 60db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey 61db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey @Test 62db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey public void shouldSetEntryValuesByResourceId() { 63db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntryValues(), nullValue()); 64db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey listPreference.setEntryValues(R.array.greetings); 65db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey assertThat(listPreference.getEntryValues(), notNullValue()); 66db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey } 678c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi 688c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi @Test 698c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi public void shouldSetValue() { 708c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi assertThat(listPreference.getValue(), nullValue()); 718c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi listPreference.setValue("testing"); 728c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi assertThat(listPreference.getValue(), equalTo("testing")); 738c7d7133d55c755eff45566d1b2ee074300d6d64Michael Portuesi } 74db942f0867e5e1f3bc97eb8facf686bdbca7c20aRich Humphrey} 75