1fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonpackage com.xtremelabs.robolectric.shadows;
2fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
3fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport android.app.Activity;
4fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport android.view.View;
5fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport android.widget.ViewAnimator;
6fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport android.widget.ViewFlipper;
7fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport com.xtremelabs.robolectric.WithTestDefaultsRunner;
8fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport org.junit.Before;
9fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport org.junit.Test;
10fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport org.junit.runner.RunWith;
11fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
12fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonimport static org.junit.Assert.assertEquals;
13fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
14fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson@RunWith(WithTestDefaultsRunner.class)
15fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swansonpublic class ViewAnimatorTest {
16fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    protected ViewAnimator animator;
17fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
18fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    @Before
19fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    public void setUp() {
20fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        animator = new ViewAnimator(new Activity());
21fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    }
22fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
23fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    @Test
24fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    public void testHappyPath() {
25fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        View v = new View(null);
26fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        animator.addView(v);
27fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
28fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        assertEquals(0, animator.getDisplayedChild());
29fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        assertEquals(v, animator.getCurrentView());
30fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    }
31fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
32fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    @Test
33fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    public void testAnimatorHandlesCyclingViews() {
34fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        View v1 = new View(null);
35fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        View v2 = new View(null);
36fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
37fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        animator.addView(v1);
38fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        animator.addView(v2);
39fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
40fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        animator.showNext();
41fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson
42fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        assertEquals(1, animator.getDisplayedChild());
43fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson        assertEquals(v2, animator.getCurrentView());
44fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson    }
45fcaff1ccedd932cbbacca8bdc4f73b4c282d2a7eMatt Swanson}
46