1eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzpackage com.xtremelabs.robolectric.shadows; 2eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 3eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport android.database.DataSetObserver; 4eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport android.support.v4.view.PagerAdapter; 5eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport android.view.View; 6eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 7eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport org.junit.Test; 8eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport org.junit.runner.RunWith; 9eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 10eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport static com.xtremelabs.robolectric.Robolectric.shadowOf; 11eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzimport static junit.framework.Assert.assertTrue; 12eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 13eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz@RunWith(WithTestDefaultsRunner.class) 14eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultzpublic class PagerAdapterTest { 15eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz @Test 16eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz public void shouldNotifyDataSetChanged() throws Exception { 17eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz PagerAdapter pagerAdapter = new NullPagerAdapter(); 18eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz TestDataSetObserver datasetObserver= new TestDataSetObserver(); 19eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz shadowOf(pagerAdapter).registerDataSetObserver(datasetObserver); 20eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz pagerAdapter.notifyDataSetChanged(); 21eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 22eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz assertTrue(datasetObserver.onChangedWasCalled); 23eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz } 24eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 25eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz private static class NullPagerAdapter extends PagerAdapter { 26eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz @Override 27eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz public int getCount() { 28eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz return 0; 29eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz } 30eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 31eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz @Override 32eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz public boolean isViewFromObject(View view, Object object) { 33eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz return false; 34eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz } 35eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz } 36eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz 37eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz private class TestDataSetObserver extends DataSetObserver { 38eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz boolean onChangedWasCalled; 39eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz @Override 40eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz public void onChanged() { 41eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz onChangedWasCalled = true; 42eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz } 43eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz } 44eefb5d8c984ecd9b37b886cde33cac11ff31d050Phil Goodwin & Tyler Schultz} 45