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