package org.robolectric.shadows; import android.app.Activity; import android.preference.ListPreference; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.R; import org.robolectric.TestRunners; import static org.assertj.core.api.Assertions.assertThat; import static org.robolectric.Robolectric.buildActivity; @RunWith(TestRunners.MultiApiSelfTest.class) public class ShadowListPreferenceTest { private ListPreference listPreference; @Before public void setUp() throws Exception { listPreference = new ListPreference(buildActivity(Activity.class).create().get()); } @Test public void shouldHaveEntries() { CharSequence[] entries = { "this", "is", "only", "a", "test" }; assertThat(listPreference.getEntries()).isNull(); listPreference.setEntries(entries); assertThat(listPreference.getEntries()).isSameAs(entries); } @Test public void shouldSetEntriesByResourceId() { assertThat(listPreference.getEntries()).isNull(); listPreference.setEntries(R.array.greetings); assertThat(listPreference.getEntries()).isNotNull(); } @Test public void shouldHaveEntryValues() { CharSequence[] entryValues = { "this", "is", "only", "a", "test" }; assertThat(listPreference.getEntryValues()).isNull(); listPreference.setEntryValues(entryValues); assertThat(listPreference.getEntryValues()).isSameAs(entryValues); } @Test public void shouldSetEntryValuesByResourceId() { assertThat(listPreference.getEntryValues()).isNull(); listPreference.setEntryValues(R.array.greetings); assertThat(listPreference.getEntryValues()).isNotNull(); } @Test public void shouldSetValue() { assertThat(listPreference.getValue()).isNull(); listPreference.setValue("testing"); assertThat(listPreference.getValue()).isEqualTo("testing"); } }