blob: 56a4bbc0d24be4415d64bd471f4de5ae311c66a3 [file] [log] [blame]
package com.bumptech.glide.request.animation;
import android.view.View;
import android.view.animation.Animation;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(JUnit4.class)
public class ViewAnimationFactoryTest {
private ViewAnimation.AnimationFactory animationFactory;
private ViewAnimationFactory<Object> factory;
@Before
public void setUp() {
animationFactory = mock(ViewAnimation.AnimationFactory.class);
factory = new ViewAnimationFactory<Object>(animationFactory);
}
@Test
public void testFactoryReturnsNoAnimationIfFromMemoryCache() {
GlideAnimation<Object> animation = factory.build(true /*isFromMemoryCache*/, true /*isFirstResource*/);
assertEquals(NoAnimation.get(), animation);
verify(animationFactory, never()).build();
}
@Test
public void testFactoryReturnsNoAnimationIfNotFirstResource() {
GlideAnimation<Object> animation = factory.build(false /*isFromMemoryCache*/, false /*isFirstResource*/);
assertEquals(NoAnimation.get(), animation);
verify(animationFactory, never()).build();
}
@Test
public void testFactoryReturnsActualAnimationIfNotIsFromMemoryCacheAndIsFirstResource() {
GlideAnimation<Object> glideAnimation = factory.build(false /*isFromMemoryCache*/, true /*isFirstResource*/);
Animation animation = mock(Animation.class);
when(animationFactory.build()).thenReturn(animation);
GlideAnimation.ViewAdapter adapter = mock(GlideAnimation.ViewAdapter.class);
View view = mock(View.class);
when(adapter.getView()).thenReturn(view);
glideAnimation.animate(new Object(), adapter);
verify(view).startAnimation(eq(animation));
}
}