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