1package com.xtremelabs.robolectric.shadows; 2 3import android.app.ListActivity; 4import android.view.View; 5import android.widget.ListAdapter; 6import android.widget.ListView; 7import com.xtremelabs.robolectric.Robolectric; 8import com.xtremelabs.robolectric.WithTestDefaultsRunner; 9import org.junit.Test; 10import org.junit.runner.RunWith; 11 12import static junit.framework.Assert.assertTrue; 13import static org.hamcrest.CoreMatchers.is; 14import static org.hamcrest.CoreMatchers.notNullValue; 15import static org.hamcrest.CoreMatchers.sameInstance; 16import static org.hamcrest.MatcherAssert.assertThat; 17 18@RunWith(WithTestDefaultsRunner.class) 19public class ListActivityTest { 20 21 @Test 22 public void shouldSupportSettingAndGettingListAdapter(){ 23 ListActivity listActivity = new ListActivity(); 24 ListAdapter adapter = new CountingAdapter(5); 25 listActivity.setListAdapter(adapter); 26 27 assertThat(listActivity.getListAdapter(), is(notNullValue())); 28 } 29 30 @Test 31 public void shouldSupportOnItemClick() throws Exception { 32 final boolean[] clicked = new boolean[1]; 33 ListActivity listActivity = new ListActivity() { 34 @Override 35 protected void onListItemClick(ListView l, View v, int position, long id) { 36 clicked[0] = true; 37 } 38 }; 39 listActivity.setContentView(new ListView(null)); 40 listActivity.setListAdapter(new CountingAdapter(5)); 41 Robolectric.shadowOf(listActivity.getListView()).performItemClick(0); 42 assertTrue(clicked[0]); 43 } 44 45 @Test 46 public void shouldSetAdapterOnListView() throws Exception { 47 ListActivity listActivity = new ListActivity(); 48 ListAdapter adapter = new CountingAdapter(5); 49 final ListView listView = new ListView(null); 50 listActivity.setContentView(listView); 51 listActivity.setListAdapter(adapter); 52 assertThat(listView.getAdapter(), sameInstance(adapter)); 53 } 54} 55