package com.pivotallabs;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import org.robolectric.RobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
@RunWith(RobolectricTestRunner.class)
public class NotifyDataSetChangedCallbacksTest {
private TestListAdapter testListAdapter;
private NotifyDataSetChangedCallbacks notifyDataSetChangedCallbacks;
@Before
public void setUp() throws Exception {
testListAdapter = new TestListAdapter();
notifyDataSetChangedCallbacks = new NotifyDataSetChangedCallbacks(testListAdapter);
}
@Test
public void onSuccessShouldNotifyDataSetChanged() throws Exception {
notifyDataSetChangedCallbacks.onSuccess();
assertThat(testListAdapter.notifyDataSetChangedWasCalled, equalTo(true));
}
private class TestListAdapter extends BaseAdapter {
public boolean notifyDataSetChangedWasCalled;
@Override
public void notifyDataSetChanged() {
notifyDataSetChangedWasCalled = true;
}
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
return null;
}
}
}