15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)package com.xtremelabs.robolectric.shadows; 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.app.ListActivity; 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.view.View; 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.widget.ListAdapter; 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.widget.ListView; 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import com.xtremelabs.robolectric.Robolectric; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import com.xtremelabs.robolectric.WithTestDefaultsRunner; 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.junit.Test; 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.junit.runner.RunWith; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)import static junit.framework.Assert.assertTrue; 13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)import static org.hamcrest.CoreMatchers.is; 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import static org.hamcrest.CoreMatchers.notNullValue; 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import static org.hamcrest.CoreMatchers.sameInstance; 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import static org.hamcrest.MatcherAssert.assertThat; 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)@RunWith(WithTestDefaultsRunner.class) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)public class ListActivityTest { 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Test 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void shouldSupportSettingAndGettingListAdapter(){ 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListActivity listActivity = new ListActivity(); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListAdapter adapter = new CountingAdapter(5); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) listActivity.setListAdapter(adapter); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertThat(listActivity.getListAdapter(), is(notNullValue())); 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Test 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void shouldSupportOnItemClick() throws Exception { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) final boolean[] clicked = new boolean[1]; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListActivity listActivity = new ListActivity() { 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protected void onListItemClick(ListView l, View v, int position, long id) { 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) clicked[0] = true; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) listActivity.setContentView(new ListView(null)); 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) listActivity.setListAdapter(new CountingAdapter(5)); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Robolectric.shadowOf(listActivity.getListView()).performItemClick(0); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertTrue(clicked[0]); 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Test 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void shouldSetAdapterOnListView() throws Exception { 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListActivity listActivity = new ListActivity(); 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListAdapter adapter = new CountingAdapter(5); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) final ListView listView = new ListView(null); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) listActivity.setContentView(listView); 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) listActivity.setListAdapter(adapter); 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assertThat(listView.getAdapter(), sameInstance(adapter)); 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)