1543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalapackage com.xtremelabs.robolectric.shadows; 2543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 3543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport android.view.View; 4543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport android.view.ViewGroup; 5543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport android.widget.BaseAdapter; 6543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 7543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport org.junit.Test; 8543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport org.junit.runner.RunWith; 9543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 10a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawalaimport static com.xtremelabs.robolectric.Robolectric.shadowOf; 11a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawalaimport static junit.framework.Assert.assertFalse; 12543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalaimport static junit.framework.Assert.assertTrue; 13543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 14543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala@RunWith(WithTestDefaultsRunner.class) 15543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawalapublic class BaseAdapterTest { 16543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala @Test 17543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala public void shouldRecordNotifyDataSetChanged() throws Exception { 18543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala BaseAdapter adapter = new TestBaseAdapter(); 19543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala adapter.notifyDataSetChanged(); 20a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala assertTrue(shadowOf(adapter).wasNotifyDataSetChangedCalled()); 21a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala } 22a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala 23a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala @Test 24a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala public void canResetNotifyDataSetChangedFlag() throws Exception { 25a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala BaseAdapter adapter = new TestBaseAdapter(); 26a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala adapter.notifyDataSetChanged(); 27a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala shadowOf(adapter).clearWasDataSetChangedCalledFlag(); 28a06e532eed1152692ba432cd19fa8a08e712d8caPhil Goodwin & Rick Kawala assertFalse(shadowOf(adapter).wasNotifyDataSetChangedCalled()); 29543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala } 30543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 31543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala private static class TestBaseAdapter extends BaseAdapter { 32543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala @Override 33543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala public int getCount() { 34543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala return 0; 35543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala } 36543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 37543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala @Override 38543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala public Object getItem(int position) { 39543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala return null; 40543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala } 41543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 42543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala @Override 43543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala public long getItemId(int position) { 44543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala return 0; 45543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala } 46543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala 47543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala @Override 48543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala public View getView(int position, View convertView, ViewGroup parent) { 49543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala return null; 50543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala } 51543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala } 52543b80e595a9c887ee3cdc8b5073eeb2bf068efePhil Goodwin & Rick Kawala} 53