Home | History | Annotate | Download | only in shadows
      1 package com.xtremelabs.robolectric.shadows;
      2 
      3 import android.app.ListActivity;
      4 import android.view.View;
      5 import android.widget.ListAdapter;
      6 import android.widget.ListView;
      7 import com.xtremelabs.robolectric.Robolectric;
      8 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
      9 import org.junit.Test;
     10 import org.junit.runner.RunWith;
     11 
     12 import static junit.framework.Assert.assertTrue;
     13 import static org.hamcrest.CoreMatchers.is;
     14 import static org.hamcrest.CoreMatchers.notNullValue;
     15 import static org.hamcrest.CoreMatchers.sameInstance;
     16 import static org.hamcrest.MatcherAssert.assertThat;
     17 
     18 @RunWith(WithTestDefaultsRunner.class)
     19 public 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