Home | History | Annotate | Download | only in shadows
      1 package org.robolectric.shadows;
      2 
      3 import static org.mockito.Mockito.mock;
      4 import static org.mockito.Mockito.verify;
      5 
      6 import android.view.animation.Animation;
      7 import android.view.animation.AnimationSet;
      8 import android.view.animation.RotateAnimation;
      9 import android.view.animation.TranslateAnimation;
     10 import org.junit.Ignore;
     11 import org.junit.Test;
     12 import org.junit.runner.RunWith;
     13 import org.robolectric.Robolectric;
     14 import org.robolectric.RobolectricTestRunner;
     15 
     16 @RunWith(RobolectricTestRunner.class)
     17 public class ShadowAnimationSetTest {
     18   final Animation.AnimationListener moveListener = mock(Animation.AnimationListener.class);
     19   final Animation.AnimationListener spinListener = mock(Animation.AnimationListener.class);
     20 
     21   @Test @Ignore("Needs additional work")
     22   public void start_shouldRunAnimation() {
     23     final AnimationSet set = new AnimationSet(true);
     24 
     25     final Animation move = new TranslateAnimation(0, 100, 0, 100);
     26     move.setDuration(1000);
     27     move.setAnimationListener(moveListener);
     28 
     29     final Animation spin = new RotateAnimation(0, 360);
     30     spin.setDuration(1000);
     31     spin.setStartOffset(1000);
     32     spin.setAnimationListener(spinListener);
     33 
     34     set.start();
     35 
     36     verify(moveListener).onAnimationStart(move);
     37 
     38     Robolectric.flushForegroundThreadScheduler();
     39 
     40     verify(moveListener).onAnimationEnd(move);
     41   }
     42 }
     43