@Test public void clickItemContainingText_shouldPerformItemClickOnList() throws Exception { ShadowListView shadowListView = prepareListWithThreeItems(); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { transcript.add("clicked on item " + position); } }); shadowListView.clickFirstItemContainingText("Item 1"); assertThat(transcript).containsExactly("clicked on item 1"); }
@Test(expected = IllegalArgumentException.class) public void clickItemContainingText_shouldThrowExceptionIfNotFound() throws Exception { ShadowListView shadowListView = prepareListWithThreeItems(); shadowListView.clickFirstItemContainingText("Non-existant item"); }
@Test public void clickItemContainingText_shouldPerformItemClickOnList_arrayAdapter() throws Exception { ArrayList<String> adapterFileList = new ArrayList<>(); adapterFileList.add("Item 1"); adapterFileList.add("Item 2"); adapterFileList.add("Item 3"); final ArrayAdapter<String> adapter = new ArrayAdapter<>(application, android.R.layout.simple_list_item_1, adapterFileList); listView.setAdapter(adapter); shadowOf(listView).populateItems(); ShadowListView shadowListView = shadowOf(listView); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { transcript.add("clicked on item " + adapter.getItem(position)); } }); shadowListView.clickFirstItemContainingText("Item 3"); assertThat(transcript).containsExactly("clicked on item Item 3"); }