content: package com.pivotallabs;
  
  import android.app.Activity;
  import android.widget.LinearLayout;
  import android.widget.TextView;
  import org.robolectric.RobolectricTestRunner;
  import org.junit.Before;
  import org.junit.Test;
  import org.junit.runner.RunWith;
  
  import java.util.ArrayList;
  
  import static org.hamcrest.CoreMatchers.equalTo;
  import static org.hamcrest.CoreMatchers.sameInstance;
  import static org.junit.Assert.assertThat;
  
  @RunWith(RobolectricTestRunner.class)
  public class NamesAdapterTest {
  
      private ArrayList<String> names;
      private NamesAdapter namesAdapter;
  
      @Before
      public void setUp() throws Exception {
          names = new ArrayList<String>();
          names.add("Lauren Conrad");
          names.add("Heidi Montag");
          names.add("Kim Kardashian");
          namesAdapter = new NamesAdapter(names);
      }
  
      @Test
      public void testGetCount() throws Exception {
          assertThat(namesAdapter.getCount(), equalTo(names.size()));
      }
  
      @Test
      public void testGetItem() throws Exception {
          assertThat((String) namesAdapter.getItem(0), equalTo("Lauren Conrad"));
          assertThat((String) namesAdapter.getItem(1), equalTo("Heidi Montag"));
          assertThat((String) namesAdapter.getItem(2), equalTo("Kim Kardashian"));
      }
  
      @Test
      public void testGetItemId() throws Exception {
          assertThat(namesAdapter.getItemId(0), equalTo(0L));
          assertThat(namesAdapter.getItemId(1), equalTo(1L));
          assertThat(namesAdapter.getItemId(2), equalTo(2L));
      }
  
      @Test
      public void testGetView() throws Exception {
          TextView nameView = (TextView) namesAdapter.getView(1, null, new LinearLayout(new Activity()));
          assertThat(nameView.getText().toString(), equalTo("Heidi Montag"));
      }
  
      @Test
      public void shouldRecycleProvidedViews() throws Exception {
          TextView existingView = new TextView(null);
          TextView nameView = (TextView) namesAdapter.getView(2, existingView, new LinearLayout(new Activity()));
          assertThat(nameView, sameInstance(existingView));
      }
  }
  