Home | History | Annotate | Download | only in shadows
      1 package org.robolectric.shadows;
      2 
      3 import static org.junit.Assert.assertEquals;
      4 import static org.junit.Assert.assertSame;
      5 
      6 import android.app.Application;
      7 import android.view.View;
      8 import android.widget.ViewAnimator;
      9 import org.junit.Before;
     10 import org.junit.Test;
     11 import org.junit.runner.RunWith;
     12 import org.robolectric.RobolectricTestRunner;
     13 import org.robolectric.RuntimeEnvironment;
     14 
     15 @RunWith(RobolectricTestRunner.class)
     16 public class ShadowViewAnimatorTest {
     17 
     18   ViewAnimator viewAnimator;
     19   final Application application = RuntimeEnvironment.application;
     20 
     21   @Before
     22   public void setUp() {
     23     viewAnimator = new ViewAnimator(application);
     24   }
     25 
     26   @Test
     27   public void getDisplayedChildWhenEmpty_shouldDefaultToZero() {
     28     assertEquals(0, viewAnimator.getDisplayedChild());
     29   }
     30 
     31   @Test
     32   public void getDisplayedChild_shouldDefaultToZero() {
     33     viewAnimator.addView(new View(application));
     34     assertEquals(0, viewAnimator.getDisplayedChild());
     35   }
     36 
     37   @Test
     38   public void setDisplayedChild_shouldUpdateDisplayedChildIndex() {
     39     viewAnimator.addView(new View(application));
     40     viewAnimator.addView(new View(application));
     41     viewAnimator.setDisplayedChild(2);
     42     assertEquals(2, viewAnimator.getDisplayedChild());
     43   }
     44 
     45   @Test
     46   public void getCurrentView_shouldWork() {
     47     View view0 = new View(application);
     48     View view1 = new View(application);
     49     viewAnimator.addView(view0);
     50     viewAnimator.addView(view1);
     51     assertSame(view0, viewAnimator.getCurrentView());
     52     viewAnimator.setDisplayedChild(1);
     53     assertSame(view1, viewAnimator.getCurrentView());
     54   }
     55 
     56   @Test
     57   public void showNext_shouldDisplayNextChild() {
     58     viewAnimator.addView(new View(application));
     59     viewAnimator.addView(new View(application));
     60     assertEquals(0, viewAnimator.getDisplayedChild());
     61     viewAnimator.showNext();
     62     assertEquals(1, viewAnimator.getDisplayedChild());
     63     viewAnimator.showNext();
     64     assertEquals(0, viewAnimator.getDisplayedChild());
     65   }
     66 
     67   @Test
     68   public void showPrevious_shouldDisplayPreviousChild() {
     69     viewAnimator.addView(new View(application));
     70     viewAnimator.addView(new View(application));
     71     assertEquals(0, viewAnimator.getDisplayedChild());
     72     viewAnimator.showPrevious();
     73     assertEquals(1, viewAnimator.getDisplayedChild());
     74     viewAnimator.showPrevious();
     75     assertEquals(0, viewAnimator.getDisplayedChild());
     76   }
     77 }
     78